/*
 * Zealcomm iRTC SDK version 4.4.0
 * Copyright (c) 2022 Zealcomm <https://www.zealcomm.cn>
 * Homepage: https://www.zealcomm.cn
 */

!(function (e) {
	if ('object' == typeof exports && 'undefined' != typeof module) module.exports = e();
	else if ('function' == typeof define && define.amd) define([], e);
	else {
		('undefined' != typeof window ? window : 'undefined' != typeof global ? global : 'undefined' != typeof self ? self : this).IRtc = e();
	}
})(function () {
	return (function () {
		return function e(t, r, n) {
			function i(s, a) {
				if (!r[s]) {
					if (!t[s]) {
						var u = 'function' == typeof require && require;
						if (!a && u) return u(s, !0);
						if (o) return o(s, !0);
						var c = new Error("Cannot find module '" + s + "'");
						throw ((c.code = 'MODULE_NOT_FOUND'), c);
					}
					var f = (r[s] = { exports: {} });
					t[s][0].call(
						f.exports,
						function (e) {
							return i(t[s][1][e] || e);
						},
						f,
						f.exports,
						e,
						t,
						r,
						n
					);
				}
				return r[s].exports;
			}
			for (var o = 'function' == typeof require && require, s = 0; s < n.length; s++) i(n[s]);
			return i;
		};
	})()(
		{
			1: [
				function (e, t, r) {
					(t.exports = function (e) {
						if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
						return e;
					}),
						(t.exports.__esModule = !0),
						(t.exports.default = t.exports);
				},
				{}
			],
			2: [
				function (e, t, r) {
					(t.exports = function (e, t) {
						if (!(e instanceof t)) throw new TypeError('Cannot call a class as a function');
					}),
						(t.exports.__esModule = !0),
						(t.exports.default = t.exports);
				},
				{}
			],
			3: [
				function (e, t, r) {
					var n = e('./setPrototypeOf.js'),
						i = e('./isNativeReflectConstruct.js');
					function o(e, r, s) {
						return (
							i()
								? ((t.exports = o = Reflect.construct.bind()), (t.exports.__esModule = !0), (t.exports.default = t.exports))
								: ((t.exports = o =
										function (e, t, r) {
											var i = [null];
											i.push.apply(i, t);
											var o = new (Function.bind.apply(e, i))();
											return r && n(o, r.prototype), o;
										}),
								  (t.exports.__esModule = !0),
								  (t.exports.default = t.exports)),
							o.apply(null, arguments)
						);
					}
					(t.exports = o), (t.exports.__esModule = !0), (t.exports.default = t.exports);
				},
				{ './isNativeReflectConstruct.js': 9, './setPrototypeOf.js': 11 }
			],
			4: [
				function (e, t, r) {
					function n(e, t) {
						for (var r = 0; r < t.length; r++) {
							var n = t[r];
							(n.enumerable = n.enumerable || !1), (n.configurable = !0), 'value' in n && (n.writable = !0), Object.defineProperty(e, n.key, n);
						}
					}
					(t.exports = function (e, t, r) {
						return t && n(e.prototype, t), r && n(e, r), Object.defineProperty(e, 'prototype', { writable: !1 }), e;
					}),
						(t.exports.__esModule = !0),
						(t.exports.default = t.exports);
				},
				{}
			],
			5: [
				function (e, t, r) {
					function n(e) {
						return (
							(t.exports = n =
								Object.setPrototypeOf
									? Object.getPrototypeOf.bind()
									: function (e) {
											return e.__proto__ || Object.getPrototypeOf(e);
									  }),
							(t.exports.__esModule = !0),
							(t.exports.default = t.exports),
							n(e)
						);
					}
					(t.exports = n), (t.exports.__esModule = !0), (t.exports.default = t.exports);
				},
				{}
			],
			6: [
				function (e, t, r) {
					var n = e('./setPrototypeOf.js');
					(t.exports = function (e, t) {
						if ('function' != typeof t && null !== t) throw new TypeError('Super expression must either be null or a function');
						(e.prototype = Object.create(t && t.prototype, { constructor: { value: e, writable: !0, configurable: !0 } })),
							Object.defineProperty(e, 'prototype', { writable: !1 }),
							t && n(e, t);
					}),
						(t.exports.__esModule = !0),
						(t.exports.default = t.exports);
				},
				{ './setPrototypeOf.js': 11 }
			],
			7: [
				function (e, t, r) {
					(t.exports = function (e) {
						return e && e.__esModule ? e : { default: e };
					}),
						(t.exports.__esModule = !0),
						(t.exports.default = t.exports);
				},
				{}
			],
			8: [
				function (e, t, r) {
					(t.exports = function (e) {
						return -1 !== Function.toString.call(e).indexOf('[native code]');
					}),
						(t.exports.__esModule = !0),
						(t.exports.default = t.exports);
				},
				{}
			],
			9: [
				function (e, t, r) {
					(t.exports = function () {
						if ('undefined' == typeof Reflect || !Reflect.construct) return !1;
						if (Reflect.construct.sham) return !1;
						if ('function' == typeof Proxy) return !0;
						try {
							return Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})), !0;
						} catch (e) {
							return !1;
						}
					}),
						(t.exports.__esModule = !0),
						(t.exports.default = t.exports);
				},
				{}
			],
			10: [
				function (e, t, r) {
					var n = e('./typeof.js').default,
						i = e('./assertThisInitialized.js');
					(t.exports = function (e, t) {
						if (t && ('object' === n(t) || 'function' == typeof t)) return t;
						if (void 0 !== t) throw new TypeError('Derived constructors may only return object or undefined');
						return i(e);
					}),
						(t.exports.__esModule = !0),
						(t.exports.default = t.exports);
				},
				{ './assertThisInitialized.js': 1, './typeof.js': 12 }
			],
			11: [
				function (e, t, r) {
					function n(e, r) {
						return (
							(t.exports = n =
								Object.setPrototypeOf
									? Object.setPrototypeOf.bind()
									: function (e, t) {
											return (e.__proto__ = t), e;
									  }),
							(t.exports.__esModule = !0),
							(t.exports.default = t.exports),
							n(e, r)
						);
					}
					(t.exports = n), (t.exports.__esModule = !0), (t.exports.default = t.exports);
				},
				{}
			],
			12: [
				function (e, t, r) {
					function n(e) {
						'@babel/helpers - typeof';
						return (
							(t.exports = n =
								'function' == typeof Symbol && 'symbol' == typeof Symbol.iterator
									? function (e) {
											return typeof e;
									  }
									: function (e) {
											return e && 'function' == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? 'symbol' : typeof e;
									  }),
							(t.exports.__esModule = !0),
							(t.exports.default = t.exports),
							n(e)
						);
					}
					(t.exports = n), (t.exports.__esModule = !0), (t.exports.default = t.exports);
				},
				{}
			],
			13: [
				function (e, t, r) {
					var n = e('./getPrototypeOf.js'),
						i = e('./setPrototypeOf.js'),
						o = e('./isNativeFunction.js'),
						s = e('./construct.js');
					function a(e) {
						var r = 'function' == typeof Map ? new Map() : void 0;
						return (
							(t.exports = a =
								function (e) {
									if (null === e || !o(e)) return e;
									if ('function' != typeof e) throw new TypeError('Super expression must either be null or a function');
									if (void 0 !== r) {
										if (r.has(e)) return r.get(e);
										r.set(e, t);
									}
									function t() {
										return s(e, arguments, n(this).constructor);
									}
									return (t.prototype = Object.create(e.prototype, { constructor: { value: t, enumerable: !1, writable: !0, configurable: !0 } })), i(t, e);
								}),
							(t.exports.__esModule = !0),
							(t.exports.default = t.exports),
							a(e)
						);
					}
					(t.exports = a), (t.exports.__esModule = !0), (t.exports.default = t.exports);
				},
				{ './construct.js': 3, './getPrototypeOf.js': 5, './isNativeFunction.js': 8, './setPrototypeOf.js': 11 }
			],
			14: [
				function (e, t, r) {
					'use strict';
					var n,
						i,
						o = e('@babel/runtime/helpers/interopRequireDefault')(e('@babel/runtime/helpers/typeof'));
					(n = void 0),
						(i = function () {
							function e(t) {
								return (e =
									'function' == typeof Symbol && 'symbol' == (0, o.default)(Symbol.iterator)
										? function (e) {
												return (0, o.default)(e);
										  }
										: function (e) {
												return e && 'function' == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? 'symbol' : (0, o.default)(e);
										  })(t);
							}
							function t(e, t) {
								if (!(e instanceof t)) throw new TypeError('Cannot call a class as a function');
							}
							function r(e, t) {
								for (var r = 0; r < t.length; r++) {
									var n = t[r];
									(n.enumerable = n.enumerable || !1), (n.configurable = !0), 'value' in n && (n.writable = !0), Object.defineProperty(e, n.key, n);
								}
							}
							function n(e, t, n) {
								return t && r(e.prototype, t), n && r(e, n), e;
							}
							function i() {
								return (i =
									Object.assign ||
									function (e) {
										for (var t = 1; t < arguments.length; t++) {
											var r = arguments[t];
											for (var n in r) Object.prototype.hasOwnProperty.call(r, n) && (e[n] = r[n]);
										}
										return e;
									}).apply(this, arguments);
							}
							function s(e, t) {
								if ('function' != typeof t && null !== t) throw new TypeError('Super expression must either be null or a function');
								(e.prototype = Object.create(t && t.prototype, { constructor: { value: e, writable: !0, configurable: !0 } })), t && u(e, t);
							}
							function a(e) {
								return (a = Object.setPrototypeOf
									? Object.getPrototypeOf
									: function (e) {
											return e.__proto__ || Object.getPrototypeOf(e);
									  })(e);
							}
							function u(e, t) {
								return (u =
									Object.setPrototypeOf ||
									function (e, t) {
										return (e.__proto__ = t), e;
									})(e, t);
							}
							function c() {
								if ('undefined' == typeof Reflect || !Reflect.construct) return !1;
								if (Reflect.construct.sham) return !1;
								if ('function' == typeof Proxy) return !0;
								try {
									return Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})), !0;
								} catch (e) {
									return !1;
								}
							}
							function f(e, t, r) {
								return (f = c()
									? Reflect.construct
									: function (e, t, r) {
											var n = [null];
											n.push.apply(n, t);
											var i = new (Function.bind.apply(e, n))();
											return r && u(i, r.prototype), i;
									  }).apply(null, arguments);
							}
							function l(e) {
								var t = 'function' == typeof Map ? new Map() : void 0;
								return (l = function (e) {
									if (null === e || ((r = e), -1 === Function.toString.call(r).indexOf('[native code]'))) return e;
									var r;
									if ('function' != typeof e) throw new TypeError('Super expression must either be null or a function');
									if (void 0 !== t) {
										if (t.has(e)) return t.get(e);
										t.set(e, n);
									}
									function n() {
										return f(e, arguments, a(this).constructor);
									}
									return (n.prototype = Object.create(e.prototype, { constructor: { value: n, enumerable: !1, writable: !0, configurable: !0 } })), u(n, e);
								})(e);
							}
							function h(e) {
								if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
								return e;
							}
							function p(e) {
								var t = c();
								return function () {
									var r,
										n = a(e);
									if (t) {
										var i = a(this).constructor;
										r = Reflect.construct(n, arguments, i);
									} else r = n.apply(this, arguments);
									return (function (e, t) {
										if (t && ('object' == (0, o.default)(t) || 'function' == typeof t)) return t;
										if (void 0 !== t) throw new TypeError('Derived constructors may only return object or undefined');
										return h(e);
									})(this, r);
								};
							}
							function d(e, t, r) {
								return (d =
									'undefined' != typeof Reflect && Reflect.get
										? Reflect.get
										: function (e, t, r) {
												var n = (function (e, t) {
													for (; !Object.prototype.hasOwnProperty.call(e, t) && null !== (e = a(e)); );
													return e;
												})(e, t);
												if (n) {
													var i = Object.getOwnPropertyDescriptor(n, t);
													return i.get ? i.get.call(r) : i.value;
												}
										  })(e, t, r || e);
							}
							function v(e, t) {
								(null == t || t > e.length) && (t = e.length);
								for (var r = 0, n = new Array(t); r < t; r++) n[r] = e[r];
								return n;
							}
							function y(e, t) {
								var r = ('undefined' != typeof Symbol && e[Symbol.iterator]) || e['@@iterator'];
								if (!r) {
									if (
										Array.isArray(e) ||
										(r = (function (e, t) {
											if (e) {
												if ('string' == typeof e) return v(e, t);
												var r = Object.prototype.toString.call(e).slice(8, -1);
												return (
													'Object' === r && e.constructor && (r = e.constructor.name),
													'Map' === r || 'Set' === r ? Array.from(e) : 'Arguments' === r || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r) ? v(e, t) : void 0
												);
											}
										})(e)) ||
										(t && e && 'number' == typeof e.length)
									) {
										r && (e = r);
										var n = 0,
											i = function () {};
										return {
											s: i,
											n: function () {
												return n >= e.length ? { done: !0 } : { done: !1, value: e[n++] };
											},
											e: function (e) {
												throw e;
											},
											f: i
										};
									}
									throw new TypeError('Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.');
								}
								var o,
									s = !0,
									a = !1;
								return {
									s: function () {
										r = r.call(e);
									},
									n: function () {
										var e = r.next();
										return (s = e.done), e;
									},
									e: function (e) {
										(a = !0), (o = e);
									},
									f: function () {
										try {
											s || null == r.return || r.return();
										} finally {
											if (a) throw o;
										}
									}
								};
							}
							var b = Object.create(null);
							(b.open = '0'), (b.close = '1'), (b.ping = '2'), (b.pong = '3'), (b.message = '4'), (b.upgrade = '5'), (b.noop = '6');
							var m = Object.create(null);
							Object.keys(b).forEach(function (e) {
								m[b[e]] = e;
							});
							for (
								var g = { type: 'error', data: 'parser error' },
									w = 'function' == typeof Blob || ('undefined' != typeof Blob && '[object BlobConstructor]' === Object.prototype.toString.call(Blob)),
									_ = 'function' == typeof ArrayBuffer,
									k = function (e, t, r) {
										var n,
											i = e.type,
											o = e.data;
										return w && o instanceof Blob
											? t
												? r(o)
												: E(o, r)
											: _ && (o instanceof ArrayBuffer || ((n = o), 'function' == typeof ArrayBuffer.isView ? ArrayBuffer.isView(n) : n && n.buffer instanceof ArrayBuffer))
											? t
												? r(o)
												: E(new Blob([o]), r)
											: r(b[i] + (o || ''));
									},
									E = function (e, t) {
										var r = new FileReader();
										return (
											(r.onload = function () {
												var e = r.result.split(',')[1];
												t('b' + e);
											}),
											r.readAsDataURL(e)
										);
									},
									S = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/',
									A = 'undefined' == typeof Uint8Array ? [] : new Uint8Array(256),
									C = 0;
								C < S.length;
								C++
							)
								A[S.charCodeAt(C)] = C;
							var R = 'function' == typeof ArrayBuffer,
								O = function (e, t) {
									if ('string' != typeof e) return { type: 'message', data: j(e, t) };
									var r = e.charAt(0);
									return 'b' === r ? { type: 'message', data: P(e.substring(1), t) } : m[r] ? (e.length > 1 ? { type: m[r], data: e.substring(1) } : { type: m[r] }) : g;
								},
								P = function (e, t) {
									if (R) {
										var r = (function (e) {
											var t,
												r,
												n,
												i,
												o,
												s = 0.75 * e.length,
												a = e.length,
												u = 0;
											'=' === e[e.length - 1] && (s--, '=' === e[e.length - 2] && s--);
											var c = new ArrayBuffer(s),
												f = new Uint8Array(c);
											for (t = 0; t < a; t += 4)
												(r = A[e.charCodeAt(t)]),
													(n = A[e.charCodeAt(t + 1)]),
													(i = A[e.charCodeAt(t + 2)]),
													(o = A[e.charCodeAt(t + 3)]),
													(f[u++] = (r << 2) | (n >> 4)),
													(f[u++] = ((15 & n) << 4) | (i >> 2)),
													(f[u++] = ((3 & i) << 6) | (63 & o));
											return c;
										})(e);
										return j(r, t);
									}
									return { base64: !0, data: e };
								},
								j = function (e, t) {
									return 'blob' === t && e instanceof ArrayBuffer ? new Blob([e]) : e;
								},
								T = String.fromCharCode(30);
							function x(e) {
								if (e)
									return (function (e) {
										for (var t in x.prototype) e[t] = x.prototype[t];
										return e;
									})(e);
							}
							(x.prototype.on = x.prototype.addEventListener =
								function (e, t) {
									return (this._callbacks = this._callbacks || {}), (this._callbacks['$' + e] = this._callbacks['$' + e] || []).push(t), this;
								}),
								(x.prototype.once = function (e, t) {
									function r() {
										this.off(e, r), t.apply(this, arguments);
									}
									return (r.fn = t), this.on(e, r), this;
								}),
								(x.prototype.off =
									x.prototype.removeListener =
									x.prototype.removeAllListeners =
									x.prototype.removeEventListener =
										function (e, t) {
											if (((this._callbacks = this._callbacks || {}), 0 == arguments.length)) return (this._callbacks = {}), this;
											var r,
												n = this._callbacks['$' + e];
											if (!n) return this;
											if (1 == arguments.length) return delete this._callbacks['$' + e], this;
											for (var i = 0; i < n.length; i++)
												if ((r = n[i]) === t || r.fn === t) {
													n.splice(i, 1);
													break;
												}
											return 0 === n.length && delete this._callbacks['$' + e], this;
										}),
								(x.prototype.emit = function (e) {
									this._callbacks = this._callbacks || {};
									for (var t = new Array(arguments.length - 1), r = this._callbacks['$' + e], n = 1; n < arguments.length; n++) t[n - 1] = arguments[n];
									if (r) {
										n = 0;
										for (var i = (r = r.slice(0)).length; n < i; ++n) r[n].apply(this, t);
									}
									return this;
								}),
								(x.prototype.emitReserved = x.prototype.emit),
								(x.prototype.listeners = function (e) {
									return (this._callbacks = this._callbacks || {}), this._callbacks['$' + e] || [];
								}),
								(x.prototype.hasListeners = function (e) {
									return !!this.listeners(e).length;
								});
							var I = 'undefined' != typeof self ? self : 'undefined' != typeof window ? window : Function('return this')();
							function B(e) {
								for (var t = arguments.length, r = new Array(t > 1 ? t - 1 : 0), n = 1; n < t; n++) r[n - 1] = arguments[n];
								return r.reduce(function (t, r) {
									return e.hasOwnProperty(r) && (t[r] = e[r]), t;
								}, {});
							}
							var M = setTimeout,
								N = clearTimeout;
							function D(e, t) {
								t.useNativeTimers ? ((e.setTimeoutFn = M.bind(I)), (e.clearTimeoutFn = N.bind(I))) : ((e.setTimeoutFn = setTimeout.bind(I)), (e.clearTimeoutFn = clearTimeout.bind(I)));
							}
							var L,
								U = (function (e) {
									s(n, l(Error));
									var r = p(n);
									function n(e, i, o) {
										var s;
										return t(this, n), ((s = r.call(this, e)).description = i), (s.context = o), (s.type = 'TransportError'), s;
									}
									return n;
								})(),
								q = (function (e) {
									s(i, x);
									var r = p(i);
									function i(e) {
										var n;
										return t(this, i), ((n = r.call(this)).writable = !1), D(h(n), e), (n.opts = e), (n.query = e.query), (n.readyState = ''), (n.socket = e.socket), n;
									}
									return (
										n(i, [
											{
												key: 'onError',
												value: function (e, t, r) {
													return d(a(i.prototype), 'emitReserved', this).call(this, 'error', new U(e, t, r)), this;
												}
											},
											{
												key: 'open',
												value: function () {
													return ('closed' !== this.readyState && '' !== this.readyState) || ((this.readyState = 'opening'), this.doOpen()), this;
												}
											},
											{
												key: 'close',
												value: function () {
													return ('opening' !== this.readyState && 'open' !== this.readyState) || (this.doClose(), this.onClose()), this;
												}
											},
											{
												key: 'send',
												value: function (e) {
													'open' === this.readyState && this.write(e);
												}
											},
											{
												key: 'onOpen',
												value: function () {
													(this.readyState = 'open'), (this.writable = !0), d(a(i.prototype), 'emitReserved', this).call(this, 'open');
												}
											},
											{
												key: 'onData',
												value: function (e) {
													var t = O(e, this.socket.binaryType);
													this.onPacket(t);
												}
											},
											{
												key: 'onPacket',
												value: function (e) {
													d(a(i.prototype), 'emitReserved', this).call(this, 'packet', e);
												}
											},
											{
												key: 'onClose',
												value: function (e) {
													(this.readyState = 'closed'), d(a(i.prototype), 'emitReserved', this).call(this, 'close', e);
												}
											}
										]),
										i
									);
								})(),
								Y = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-_'.split(''),
								F = {},
								W = 0,
								V = 0;
							function z(e) {
								var t = '';
								do {
									(t = Y[e % 64] + t), (e = Math.floor(e / 64));
								} while (e > 0);
								return t;
							}
							function H() {
								var e = z(+new Date());
								return e !== L ? ((W = 0), (L = e)) : e + '.' + z(W++);
							}
							for (; V < 64; V++) F[Y[V]] = V;
							function J(e) {
								var t = '';
								for (var r in e) e.hasOwnProperty(r) && (t.length && (t += '&'), (t += encodeURIComponent(r) + '=' + encodeURIComponent(e[r])));
								return t;
							}
							var K = !1;
							try {
								K = 'undefined' != typeof XMLHttpRequest && 'withCredentials' in new XMLHttpRequest();
							} catch (e) {}
							var $ = K;
							function X(e) {
								var t = e.xdomain;
								try {
									if ('undefined' != typeof XMLHttpRequest && (!t || $)) return new XMLHttpRequest();
								} catch (e) {}
								if (!t)
									try {
										return new I[['Active'].concat('Object').join('X')]('Microsoft.XMLHTTP');
									} catch (e) {}
							}
							function G() {}
							var Z = null != new X({ xdomain: !1 }).responseType,
								Q = (function (e) {
									s(o, q);
									var r = p(o);
									function o(e) {
										var n;
										if ((t(this, o), ((n = r.call(this, e)).polling = !1), 'undefined' != typeof location)) {
											var i = 'https:' === location.protocol,
												s = location.port;
											s || (s = i ? '443' : '80'), (n.xd = ('undefined' != typeof location && e.hostname !== location.hostname) || s !== e.port), (n.xs = e.secure !== i);
										}
										var a = e && e.forceBase64;
										return (n.supportsBinary = Z && !a), n;
									}
									return (
										n(o, [
											{
												key: 'name',
												get: function () {
													return 'polling';
												}
											},
											{
												key: 'doOpen',
												value: function () {
													this.poll();
												}
											},
											{
												key: 'pause',
												value: function (e) {
													var t = this;
													this.readyState = 'pausing';
													var r = function () {
														(t.readyState = 'paused'), e();
													};
													if (this.polling || !this.writable) {
														var n = 0;
														this.polling &&
															(n++,
															this.once('pollComplete', function () {
																--n || r();
															})),
															this.writable ||
																(n++,
																this.once('drain', function () {
																	--n || r();
																}));
													} else r();
												}
											},
											{
												key: 'poll',
												value: function () {
													(this.polling = !0), this.doPoll(), this.emitReserved('poll');
												}
											},
											{
												key: 'onData',
												value: function (e) {
													var t = this;
													(function (e, t) {
														for (var r = e.split(T), n = [], i = 0; i < r.length; i++) {
															var o = O(r[i], t);
															if ((n.push(o), 'error' === o.type)) break;
														}
														return n;
													})(e, this.socket.binaryType).forEach(function (e) {
														if (('opening' === t.readyState && 'open' === e.type && t.onOpen(), 'close' === e.type))
															return t.onClose({ description: 'transport closed by the server' }), !1;
														t.onPacket(e);
													}),
														'closed' !== this.readyState && ((this.polling = !1), this.emitReserved('pollComplete'), 'open' === this.readyState && this.poll());
												}
											},
											{
												key: 'doClose',
												value: function () {
													var e = this,
														t = function () {
															e.write([{ type: 'close' }]);
														};
													'open' === this.readyState ? t() : this.once('open', t);
												}
											},
											{
												key: 'write',
												value: function (e) {
													var t = this;
													(this.writable = !1),
														(function (e, t) {
															var r = e.length,
																n = new Array(r),
																i = 0;
															e.forEach(function (e, o) {
																k(e, !1, function (e) {
																	(n[o] = e), ++i === r && t(n.join(T));
																});
															});
														})(e, function (e) {
															t.doWrite(e, function () {
																(t.writable = !0), t.emitReserved('drain');
															});
														});
												}
											},
											{
												key: 'uri',
												value: function () {
													var e = this.query || {},
														t = this.opts.secure ? 'https' : 'http',
														r = '';
													!1 !== this.opts.timestampRequests && (e[this.opts.timestampParam] = H()),
														this.supportsBinary || e.sid || (e.b64 = 1),
														this.opts.port &&
															(('https' === t && 443 !== Number(this.opts.port)) || ('http' === t && 80 !== Number(this.opts.port))) &&
															(r = ':' + this.opts.port);
													var n = J(e);
													return (
														t +
														'://' +
														(-1 !== this.opts.hostname.indexOf(':') ? '[' + this.opts.hostname + ']' : this.opts.hostname) +
														r +
														this.opts.path +
														(n.length ? '?' + n : '')
													);
												}
											},
											{
												key: 'request',
												value: function () {
													var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {};
													return i(e, { xd: this.xd, xs: this.xs }, this.opts), new ee(this.uri(), e);
												}
											},
											{
												key: 'doWrite',
												value: function (e, t) {
													var r = this,
														n = this.request({ method: 'POST', data: e });
													n.on('success', t),
														n.on('error', function (e, t) {
															r.onError('xhr post error', e, t);
														});
												}
											},
											{
												key: 'doPoll',
												value: function () {
													var e = this,
														t = this.request();
													t.on('data', this.onData.bind(this)),
														t.on('error', function (t, r) {
															e.onError('xhr poll error', t, r);
														}),
														(this.pollXhr = t);
												}
											}
										]),
										o
									);
								})(),
								ee = (function (e) {
									s(i, x);
									var r = p(i);
									function i(e, n) {
										var o;
										return (
											t(this, i),
											D(h((o = r.call(this))), n),
											(o.opts = n),
											(o.method = n.method || 'GET'),
											(o.uri = e),
											(o.async = !1 !== n.async),
											(o.data = void 0 !== n.data ? n.data : null),
											o.create(),
											o
										);
									}
									return (
										n(i, [
											{
												key: 'create',
												value: function () {
													var e = this,
														t = B(this.opts, 'agent', 'pfx', 'key', 'passphrase', 'cert', 'ca', 'ciphers', 'rejectUnauthorized', 'autoUnref');
													(t.xdomain = !!this.opts.xd), (t.xscheme = !!this.opts.xs);
													var r = (this.xhr = new X(t));
													try {
														r.open(this.method, this.uri, this.async);
														try {
															if (this.opts.extraHeaders)
																for (var n in (r.setDisableHeaderCheck && r.setDisableHeaderCheck(!0), this.opts.extraHeaders))
																	this.opts.extraHeaders.hasOwnProperty(n) && r.setRequestHeader(n, this.opts.extraHeaders[n]);
														} catch (e) {}
														if ('POST' === this.method)
															try {
																r.setRequestHeader('Content-type', 'text/plain;charset=UTF-8');
															} catch (e) {}
														try {
															r.setRequestHeader('Accept', '*/*');
														} catch (e) {}
														'withCredentials' in r && (r.withCredentials = this.opts.withCredentials),
															this.opts.requestTimeout && (r.timeout = this.opts.requestTimeout),
															(r.onreadystatechange = function () {
																4 === r.readyState &&
																	(200 === r.status || 1223 === r.status
																		? e.onLoad()
																		: e.setTimeoutFn(function () {
																				e.onError('number' == typeof r.status ? r.status : 0);
																		  }, 0));
															}),
															r.send(this.data);
													} catch (t) {
														return void this.setTimeoutFn(function () {
															e.onError(t);
														}, 0);
													}
													'undefined' != typeof document && ((this.index = i.requestsCount++), (i.requests[this.index] = this));
												}
											},
											{
												key: 'onError',
												value: function (e) {
													this.emitReserved('error', e, this.xhr), this.cleanup(!0);
												}
											},
											{
												key: 'cleanup',
												value: function (e) {
													if (void 0 !== this.xhr && null !== this.xhr) {
														if (((this.xhr.onreadystatechange = G), e))
															try {
																this.xhr.abort();
															} catch (e) {}
														'undefined' != typeof document && delete i.requests[this.index], (this.xhr = null);
													}
												}
											},
											{
												key: 'onLoad',
												value: function () {
													var e = this.xhr.responseText;
													null !== e && (this.emitReserved('data', e), this.emitReserved('success'), this.cleanup());
												}
											},
											{
												key: 'abort',
												value: function () {
													this.cleanup();
												}
											}
										]),
										i
									);
								})();
							function te() {
								for (var e in ee.requests) ee.requests.hasOwnProperty(e) && ee.requests[e].abort();
							}
							(ee.requestsCount = 0),
								(ee.requests = {}),
								'undefined' != typeof document &&
									('function' == typeof attachEvent
										? attachEvent('onunload', te)
										: 'function' == typeof addEventListener && addEventListener('onpagehide' in I ? 'pagehide' : 'unload', te, !1));
							var re =
									'function' == typeof Promise && 'function' == typeof Promise.resolve
										? function (e) {
												return Promise.resolve().then(e);
										  }
										: function (e, t) {
												return t(e, 0);
										  },
								ne = I.WebSocket || I.MozWebSocket,
								ie = 'undefined' != typeof navigator && 'string' == typeof navigator.product && 'reactnative' === navigator.product.toLowerCase(),
								oe = {
									websocket: (function (e) {
										s(i, q);
										var r = p(i);
										function i(e) {
											var n;
											return t(this, i), ((n = r.call(this, e)).supportsBinary = !e.forceBase64), n;
										}
										return (
											n(i, [
												{
													key: 'name',
													get: function () {
														return 'websocket';
													}
												},
												{
													key: 'doOpen',
													value: function () {
														if (this.check()) {
															var e = this.uri(),
																t = this.opts.protocols,
																r = ie
																	? {}
																	: B(
																			this.opts,
																			'agent',
																			'perMessageDeflate',
																			'pfx',
																			'key',
																			'passphrase',
																			'cert',
																			'ca',
																			'ciphers',
																			'rejectUnauthorized',
																			'localAddress',
																			'protocolVersion',
																			'origin',
																			'maxPayload',
																			'family',
																			'checkServerIdentity'
																	  );
															this.opts.extraHeaders && (r.headers = this.opts.extraHeaders);
															try {
																this.ws = ie ? new ne(e, t, r) : t ? new ne(e, t) : new ne(e);
															} catch (e) {
																return this.emitReserved('error', e);
															}
															(this.ws.binaryType = this.socket.binaryType || 'arraybuffer'), this.addEventListeners();
														}
													}
												},
												{
													key: 'addEventListeners',
													value: function () {
														var e = this;
														(this.ws.onopen = function () {
															e.opts.autoUnref && e.ws._socket.unref(), e.onOpen();
														}),
															(this.ws.onclose = function (t) {
																return e.onClose({ description: 'websocket connection closed', context: t });
															}),
															(this.ws.onmessage = function (t) {
																return e.onData(t.data);
															}),
															(this.ws.onerror = function (t) {
																return e.onError('websocket error', t);
															});
													}
												},
												{
													key: 'write',
													value: function (e) {
														var t = this;
														this.writable = !1;
														for (
															var r = function (r) {
																	var n = e[r],
																		i = r === e.length - 1;
																	k(n, t.supportsBinary, function (e) {
																		try {
																			t.ws.send(e);
																		} catch (e) {}
																		i &&
																			re(function () {
																				(t.writable = !0), t.emitReserved('drain');
																			}, t.setTimeoutFn);
																	});
																},
																n = 0;
															n < e.length;
															n++
														)
															r(n);
													}
												},
												{
													key: 'doClose',
													value: function () {
														void 0 !== this.ws && (this.ws.close(), (this.ws = null));
													}
												},
												{
													key: 'uri',
													value: function () {
														var e = this.query || {},
															t = this.opts.secure ? 'wss' : 'ws',
															r = '';
														this.opts.port &&
															(('wss' === t && 443 !== Number(this.opts.port)) || ('ws' === t && 80 !== Number(this.opts.port))) &&
															(r = ':' + this.opts.port),
															this.opts.timestampRequests && (e[this.opts.timestampParam] = H()),
															this.supportsBinary || (e.b64 = 1);
														var n = J(e);
														return (
															t +
															'://' +
															(-1 !== this.opts.hostname.indexOf(':') ? '[' + this.opts.hostname + ']' : this.opts.hostname) +
															r +
															this.opts.path +
															(n.length ? '?' + n : '')
														);
													}
												},
												{
													key: 'check',
													value: function () {
														return !(!ne || ('__initialize' in ne && this.name === i.prototype.name));
													}
												}
											]),
											i
										);
									})(),
									polling: Q
								},
								se =
									/^(?:(?![^:@]+:[^:@\/]*@)(http|https|ws|wss):\/\/)?((?:(([^:@]*)(?::([^:@]*))?)?@)?((?:[a-f0-9]{0,4}:){2,7}[a-f0-9]{0,4}|[^:\/?#]*)(?::(\d*))?)(((\/(?:[^?#](?![^?#\/]*\.[^?#\/.]+(?:[?#]|$)))*\/?)?([^?#\/]*))(?:\?([^#]*))?(?:#(.*))?)/,
								ae = ['source', 'protocol', 'authority', 'userInfo', 'user', 'password', 'host', 'port', 'relative', 'path', 'directory', 'file', 'query', 'anchor'];
							function ue(e) {
								var t = e,
									r = e.indexOf('['),
									n = e.indexOf(']');
								-1 != r && -1 != n && (e = e.substring(0, r) + e.substring(r, n).replace(/:/g, ';') + e.substring(n, e.length));
								for (var i, o, s = se.exec(e || ''), a = {}, u = 14; u--; ) a[ae[u]] = s[u] || '';
								return (
									-1 != r &&
										-1 != n &&
										((a.source = t),
										(a.host = a.host.substring(1, a.host.length - 1).replace(/;/g, ':')),
										(a.authority = a.authority.replace('[', '').replace(']', '').replace(/;/g, ':')),
										(a.ipv6uri = !0)),
									(a.pathNames = (function (e, t) {
										var r = t.replace(/\/{2,9}/g, '/').split('/');
										return ('/' != t.substr(0, 1) && 0 !== t.length) || r.splice(0, 1), '/' == t.substr(t.length - 1, 1) && r.splice(r.length - 1, 1), r;
									})(0, a.path)),
									(a.queryKey =
										((i = a.query),
										(o = {}),
										i.replace(/(?:^|&)([^&=]*)=?([^&]*)/g, function (e, t, r) {
											t && (o[t] = r);
										}),
										o)),
									a
								);
							}
							var ce = (function (r) {
								s(a, x);
								var o = p(a);
								function a(r) {
									var n,
										s = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {};
									return (
										t(this, a),
										(n = o.call(this)),
										r && 'object' === e(r) && ((s = r), (r = null)),
										r
											? ((r = ue(r)), (s.hostname = r.host), (s.secure = 'https' === r.protocol || 'wss' === r.protocol), (s.port = r.port), r.query && (s.query = r.query))
											: s.host && (s.hostname = ue(s.host).host),
										D(h(n), s),
										(n.secure = null != s.secure ? s.secure : 'undefined' != typeof location && 'https:' === location.protocol),
										s.hostname && !s.port && (s.port = n.secure ? '443' : '80'),
										(n.hostname = s.hostname || ('undefined' != typeof location ? location.hostname : 'localhost')),
										(n.port = s.port || ('undefined' != typeof location && location.port ? location.port : n.secure ? '443' : '80')),
										(n.transports = s.transports || ['polling', 'websocket']),
										(n.readyState = ''),
										(n.writeBuffer = []),
										(n.prevBufferLen = 0),
										(n.opts = i(
											{
												path: '/engine.io',
												agent: !1,
												withCredentials: !1,
												upgrade: !0,
												timestampParam: 't',
												rememberUpgrade: !1,
												rejectUnauthorized: !0,
												perMessageDeflate: { threshold: 1024 },
												transportOptions: {},
												closeOnBeforeunload: !0
											},
											s
										)),
										(n.opts.path = n.opts.path.replace(/\/$/, '') + '/'),
										'string' == typeof n.opts.query &&
											(n.opts.query = (function (e) {
												for (var t = {}, r = e.split('&'), n = 0, i = r.length; n < i; n++) {
													var o = r[n].split('=');
													t[decodeURIComponent(o[0])] = decodeURIComponent(o[1]);
												}
												return t;
											})(n.opts.query)),
										(n.id = null),
										(n.upgrades = null),
										(n.pingInterval = null),
										(n.pingTimeout = null),
										(n.pingTimeoutTimer = null),
										'function' == typeof addEventListener &&
											(n.opts.closeOnBeforeunload &&
												addEventListener(
													'beforeunload',
													function () {
														n.transport && (n.transport.removeAllListeners(), n.transport.close());
													},
													!1
												),
											'localhost' !== n.hostname &&
												((n.offlineEventListener = function () {
													n.onClose('transport close', { description: 'network connection lost' });
												}),
												addEventListener('offline', n.offlineEventListener, !1))),
										n.open(),
										n
									);
								}
								return (
									n(a, [
										{
											key: 'createTransport',
											value: function (e) {
												var t = i({}, this.opts.query);
												(t.EIO = 4), (t.transport = e), this.id && (t.sid = this.id);
												var r = i({}, this.opts.transportOptions[e], this.opts, { query: t, socket: this, hostname: this.hostname, secure: this.secure, port: this.port });
												return new oe[e](r);
											}
										},
										{
											key: 'open',
											value: function () {
												var e,
													t = this;
												if (this.opts.rememberUpgrade && a.priorWebsocketSuccess && -1 !== this.transports.indexOf('websocket')) e = 'websocket';
												else {
													if (0 === this.transports.length)
														return void this.setTimeoutFn(function () {
															t.emitReserved('error', 'No transports available');
														}, 0);
													e = this.transports[0];
												}
												this.readyState = 'opening';
												try {
													e = this.createTransport(e);
												} catch (e) {
													return this.transports.shift(), void this.open();
												}
												e.open(), this.setTransport(e);
											}
										},
										{
											key: 'setTransport',
											value: function (e) {
												var t = this;
												this.transport && this.transport.removeAllListeners(),
													(this.transport = e),
													e
														.on('drain', this.onDrain.bind(this))
														.on('packet', this.onPacket.bind(this))
														.on('error', this.onError.bind(this))
														.on('close', function (e) {
															return t.onClose('transport close', e);
														});
											}
										},
										{
											key: 'probe',
											value: function (e) {
												var t = this,
													r = this.createTransport(e),
													n = !1;
												a.priorWebsocketSuccess = !1;
												var i = function () {
													n ||
														(r.send([{ type: 'ping', data: 'probe' }]),
														r.once('packet', function (e) {
															if (!n)
																if ('pong' === e.type && 'probe' === e.data) {
																	if (((t.upgrading = !0), t.emitReserved('upgrading', r), !r)) return;
																	(a.priorWebsocketSuccess = 'websocket' === r.name),
																		t.transport.pause(function () {
																			n ||
																				('closed' !== t.readyState &&
																					(l(),
																					t.setTransport(r),
																					r.send([{ type: 'upgrade' }]),
																					t.emitReserved('upgrade', r),
																					(r = null),
																					(t.upgrading = !1),
																					t.flush()));
																		});
																} else {
																	var i = new Error('probe error');
																	(i.transport = r.name), t.emitReserved('upgradeError', i);
																}
														}));
												};
												function o() {
													n || ((n = !0), l(), r.close(), (r = null));
												}
												var s = function (e) {
													var n = new Error('probe error: ' + e);
													(n.transport = r.name), o(), t.emitReserved('upgradeError', n);
												};
												function u() {
													s('transport closed');
												}
												function c() {
													s('socket closed');
												}
												function f(e) {
													r && e.name !== r.name && o();
												}
												var l = function () {
													r.removeListener('open', i), r.removeListener('error', s), r.removeListener('close', u), t.off('close', c), t.off('upgrading', f);
												};
												r.once('open', i), r.once('error', s), r.once('close', u), this.once('close', c), this.once('upgrading', f), r.open();
											}
										},
										{
											key: 'onOpen',
											value: function () {
												if (
													((this.readyState = 'open'),
													(a.priorWebsocketSuccess = 'websocket' === this.transport.name),
													this.emitReserved('open'),
													this.flush(),
													'open' === this.readyState && this.opts.upgrade && this.transport.pause)
												)
													for (var e = 0, t = this.upgrades.length; e < t; e++) this.probe(this.upgrades[e]);
											}
										},
										{
											key: 'onPacket',
											value: function (e) {
												if ('opening' === this.readyState || 'open' === this.readyState || 'closing' === this.readyState)
													switch ((this.emitReserved('packet', e), this.emitReserved('heartbeat'), e.type)) {
														case 'open':
															this.onHandshake(JSON.parse(e.data));
															break;
														case 'ping':
															this.resetPingTimeout(), this.sendPacket('pong'), this.emitReserved('ping'), this.emitReserved('pong');
															break;
														case 'error':
															var t = new Error('server error');
															(t.code = e.data), this.onError(t);
															break;
														case 'message':
															this.emitReserved('data', e.data), this.emitReserved('message', e.data);
													}
											}
										},
										{
											key: 'onHandshake',
											value: function (e) {
												this.emitReserved('handshake', e),
													(this.id = e.sid),
													(this.transport.query.sid = e.sid),
													(this.upgrades = this.filterUpgrades(e.upgrades)),
													(this.pingInterval = e.pingInterval),
													(this.pingTimeout = e.pingTimeout),
													(this.maxPayload = e.maxPayload),
													this.onOpen(),
													'closed' !== this.readyState && this.resetPingTimeout();
											}
										},
										{
											key: 'resetPingTimeout',
											value: function () {
												var e = this;
												this.clearTimeoutFn(this.pingTimeoutTimer),
													(this.pingTimeoutTimer = this.setTimeoutFn(function () {
														e.onClose('ping timeout');
													}, this.pingInterval + this.pingTimeout)),
													this.opts.autoUnref && this.pingTimeoutTimer.unref();
											}
										},
										{
											key: 'onDrain',
											value: function () {
												this.writeBuffer.splice(0, this.prevBufferLen), (this.prevBufferLen = 0), 0 === this.writeBuffer.length ? this.emitReserved('drain') : this.flush();
											}
										},
										{
											key: 'flush',
											value: function () {
												if ('closed' !== this.readyState && this.transport.writable && !this.upgrading && this.writeBuffer.length) {
													var e = this.getWritablePackets();
													this.transport.send(e), (this.prevBufferLen = e.length), this.emitReserved('flush');
												}
											}
										},
										{
											key: 'getWritablePackets',
											value: function () {
												if (!(this.maxPayload && 'polling' === this.transport.name && this.writeBuffer.length > 1)) return this.writeBuffer;
												for (var e, t = 1, r = 0; r < this.writeBuffer.length; r++) {
													var n = this.writeBuffer[r].data;
													if (
														(n &&
															(t +=
																'string' == typeof (e = n)
																	? (function (e) {
																			for (var t = 0, r = 0, n = 0, i = e.length; n < i; n++)
																				(t = e.charCodeAt(n)) < 128 ? (r += 1) : t < 2048 ? (r += 2) : t < 55296 || t >= 57344 ? (r += 3) : (n++, (r += 4));
																			return r;
																	  })(e)
																	: Math.ceil(1.33 * (e.byteLength || e.size))),
														r > 0 && t > this.maxPayload)
													)
														return this.writeBuffer.slice(0, r);
													t += 2;
												}
												return this.writeBuffer;
											}
										},
										{
											key: 'write',
											value: function (e, t, r) {
												return this.sendPacket('message', e, t, r), this;
											}
										},
										{
											key: 'send',
											value: function (e, t, r) {
												return this.sendPacket('message', e, t, r), this;
											}
										},
										{
											key: 'sendPacket',
											value: function (e, t, r, n) {
												if (
													('function' == typeof t && ((n = t), (t = void 0)),
													'function' == typeof r && ((n = r), (r = null)),
													'closing' !== this.readyState && 'closed' !== this.readyState)
												) {
													(r = r || {}).compress = !1 !== r.compress;
													var i = { type: e, data: t, options: r };
													this.emitReserved('packetCreate', i), this.writeBuffer.push(i), n && this.once('flush', n), this.flush();
												}
											}
										},
										{
											key: 'close',
											value: function () {
												var e = this,
													t = function () {
														e.onClose('forced close'), e.transport.close();
													},
													r = function r() {
														e.off('upgrade', r), e.off('upgradeError', r), t();
													},
													n = function () {
														e.once('upgrade', r), e.once('upgradeError', r);
													};
												return (
													('opening' !== this.readyState && 'open' !== this.readyState) ||
														((this.readyState = 'closing'),
														this.writeBuffer.length
															? this.once('drain', function () {
																	e.upgrading ? n() : t();
															  })
															: this.upgrading
															? n()
															: t()),
													this
												);
											}
										},
										{
											key: 'onError',
											value: function (e) {
												(a.priorWebsocketSuccess = !1), this.emitReserved('error', e), this.onClose('transport error', e);
											}
										},
										{
											key: 'onClose',
											value: function (e, t) {
												('opening' !== this.readyState && 'open' !== this.readyState && 'closing' !== this.readyState) ||
													(this.clearTimeoutFn(this.pingTimeoutTimer),
													this.transport.removeAllListeners('close'),
													this.transport.close(),
													this.transport.removeAllListeners(),
													'function' == typeof removeEventListener && removeEventListener('offline', this.offlineEventListener, !1),
													(this.readyState = 'closed'),
													(this.id = null),
													this.emitReserved('close', e, t),
													(this.writeBuffer = []),
													(this.prevBufferLen = 0));
											}
										},
										{
											key: 'filterUpgrades',
											value: function (e) {
												for (var t = [], r = 0, n = e.length; r < n; r++) ~this.transports.indexOf(e[r]) && t.push(e[r]);
												return t;
											}
										}
									]),
									a
								);
							})();
							ce.protocol = 4;
							var fe,
								le = 'function' == typeof ArrayBuffer,
								he = Object.prototype.toString,
								pe = 'function' == typeof Blob || ('undefined' != typeof Blob && '[object BlobConstructor]' === he.call(Blob)),
								de = 'function' == typeof File || ('undefined' != typeof File && '[object FileConstructor]' === he.call(File));
							function ve(e) {
								return (
									(le &&
										(e instanceof ArrayBuffer ||
											(function (e) {
												return 'function' == typeof ArrayBuffer.isView ? ArrayBuffer.isView(e) : e.buffer instanceof ArrayBuffer;
											})(e))) ||
									(pe && e instanceof Blob) ||
									(de && e instanceof File)
								);
							}
							function ye(t, r) {
								if (!t || 'object' !== e(t)) return !1;
								if (Array.isArray(t)) {
									for (var n = 0, i = t.length; n < i; n++) if (ye(t[n])) return !0;
									return !1;
								}
								if (ve(t)) return !0;
								if (t.toJSON && 'function' == typeof t.toJSON && 1 === arguments.length) return ye(t.toJSON(), !0);
								for (var o in t) if (Object.prototype.hasOwnProperty.call(t, o) && ye(t[o])) return !0;
								return !1;
							}
							function be(t, r) {
								if (!t) return t;
								if (ve(t)) {
									var n = { _placeholder: !0, num: r.length };
									return r.push(t), n;
								}
								if (Array.isArray(t)) {
									for (var i = new Array(t.length), o = 0; o < t.length; o++) i[o] = be(t[o], r);
									return i;
								}
								if ('object' === e(t) && !(t instanceof Date)) {
									var s = {};
									for (var a in t) Object.prototype.hasOwnProperty.call(t, a) && (s[a] = be(t[a], r));
									return s;
								}
								return t;
							}
							function me(t, r) {
								if (!t) return t;
								if (t && t._placeholder) return r[t.num];
								if (Array.isArray(t)) for (var n = 0; n < t.length; n++) t[n] = me(t[n], r);
								else if ('object' === e(t)) for (var i in t) Object.prototype.hasOwnProperty.call(t, i) && (t[i] = me(t[i], r));
								return t;
							}
							!(function (e) {
								(e[(e.CONNECT = 0)] = 'CONNECT'),
									(e[(e.DISCONNECT = 1)] = 'DISCONNECT'),
									(e[(e.EVENT = 2)] = 'EVENT'),
									(e[(e.ACK = 3)] = 'ACK'),
									(e[(e.CONNECT_ERROR = 4)] = 'CONNECT_ERROR'),
									(e[(e.BINARY_EVENT = 5)] = 'BINARY_EVENT'),
									(e[(e.BINARY_ACK = 6)] = 'BINARY_ACK');
							})(fe || (fe = {}));
							var ge = (function () {
									function e(r) {
										t(this, e), (this.replacer = r);
									}
									return (
										n(e, [
											{
												key: 'encode',
												value: function (e) {
													return (e.type !== fe.EVENT && e.type !== fe.ACK) || !ye(e)
														? [this.encodeAsString(e)]
														: ((e.type = e.type === fe.EVENT ? fe.BINARY_EVENT : fe.BINARY_ACK), this.encodeAsBinary(e));
												}
											},
											{
												key: 'encodeAsString',
												value: function (e) {
													var t = '' + e.type;
													return (
														(e.type !== fe.BINARY_EVENT && e.type !== fe.BINARY_ACK) || (t += e.attachments + '-'),
														e.nsp && '/' !== e.nsp && (t += e.nsp + ','),
														null != e.id && (t += e.id),
														null != e.data && (t += JSON.stringify(e.data, this.replacer)),
														t
													);
												}
											},
											{
												key: 'encodeAsBinary',
												value: function (e) {
													var t = (function (e) {
															var t = [],
																r = e.data,
																n = e;
															return (n.data = be(r, t)), (n.attachments = t.length), { packet: n, buffers: t };
														})(e),
														r = this.encodeAsString(t.packet),
														n = t.buffers;
													return n.unshift(r), n;
												}
											}
										]),
										e
									);
								})(),
								we = (function (r) {
									s(o, x);
									var i = p(o);
									function o(e) {
										var r;
										return t(this, o), ((r = i.call(this)).reviver = e), r;
									}
									return (
										n(
											o,
											[
												{
													key: 'add',
													value: function (e) {
														var t;
														if ('string' == typeof e)
															(t = this.decodeString(e)).type === fe.BINARY_EVENT || t.type === fe.BINARY_ACK
																? ((this.reconstructor = new _e(t)), 0 === t.attachments && d(a(o.prototype), 'emitReserved', this).call(this, 'decoded', t))
																: d(a(o.prototype), 'emitReserved', this).call(this, 'decoded', t);
														else {
															if (!ve(e) && !e.base64) throw new Error('Unknown type: ' + e);
															if (!this.reconstructor) throw new Error('got binary data when not reconstructing a packet');
															(t = this.reconstructor.takeBinaryData(e)) &&
																((this.reconstructor = null), d(a(o.prototype), 'emitReserved', this).call(this, 'decoded', t));
														}
													}
												},
												{
													key: 'decodeString',
													value: function (e) {
														var t = 0,
															r = { type: Number(e.charAt(0)) };
														if (void 0 === fe[r.type]) throw new Error('unknown packet type ' + r.type);
														if (r.type === fe.BINARY_EVENT || r.type === fe.BINARY_ACK) {
															for (var n = t + 1; '-' !== e.charAt(++t) && t != e.length; );
															var i = e.substring(n, t);
															if (i != Number(i) || '-' !== e.charAt(t)) throw new Error('Illegal attachments');
															r.attachments = Number(i);
														}
														if ('/' === e.charAt(t + 1)) {
															for (var s = t + 1; ++t && ',' !== e.charAt(t) && t !== e.length; );
															r.nsp = e.substring(s, t);
														} else r.nsp = '/';
														var a = e.charAt(t + 1);
														if ('' !== a && Number(a) == a) {
															for (var u = t + 1; ++t; ) {
																var c = e.charAt(t);
																if (null == c || Number(c) != c) {
																	--t;
																	break;
																}
																if (t === e.length) break;
															}
															r.id = Number(e.substring(u, t + 1));
														}
														if (e.charAt(++t)) {
															var f = this.tryParse(e.substr(t));
															if (!o.isPayloadValid(r.type, f)) throw new Error('invalid payload');
															r.data = f;
														}
														return r;
													}
												},
												{
													key: 'tryParse',
													value: function (e) {
														try {
															return JSON.parse(e, this.reviver);
														} catch (e) {
															return !1;
														}
													}
												},
												{
													key: 'destroy',
													value: function () {
														this.reconstructor && this.reconstructor.finishedReconstruction();
													}
												}
											],
											[
												{
													key: 'isPayloadValid',
													value: function (t, r) {
														switch (t) {
															case fe.CONNECT:
																return 'object' === e(r);
															case fe.DISCONNECT:
																return void 0 === r;
															case fe.CONNECT_ERROR:
																return 'string' == typeof r || 'object' === e(r);
															case fe.EVENT:
															case fe.BINARY_EVENT:
																return Array.isArray(r) && r.length > 0;
															case fe.ACK:
															case fe.BINARY_ACK:
																return Array.isArray(r);
														}
													}
												}
											]
										),
										o
									);
								})(),
								_e = (function () {
									function e(r) {
										t(this, e), (this.packet = r), (this.buffers = []), (this.reconPack = r);
									}
									return (
										n(e, [
											{
												key: 'takeBinaryData',
												value: function (e) {
													if ((this.buffers.push(e), this.buffers.length === this.reconPack.attachments)) {
														var t = (function (e, t) {
															return (e.data = me(e.data, t)), (e.attachments = void 0), e;
														})(this.reconPack, this.buffers);
														return this.finishedReconstruction(), t;
													}
													return null;
												}
											},
											{
												key: 'finishedReconstruction',
												value: function () {
													(this.reconPack = null), (this.buffers = []);
												}
											}
										]),
										e
									);
								})(),
								ke = Object.freeze({
									__proto__: null,
									protocol: 5,
									get PacketType() {
										return fe;
									},
									Encoder: ge,
									Decoder: we
								});
							function Ee(e, t, r) {
								return (
									e.on(t, r),
									function () {
										e.off(t, r);
									}
								);
							}
							var Se = Object.freeze({ connect: 1, connect_error: 1, disconnect: 1, disconnecting: 1, newListener: 1, removeListener: 1 }),
								Ae = (function (e) {
									s(i, x);
									var r = p(i);
									function i(e, n, o) {
										var s;
										return (
											t(this, i),
											((s = r.call(this)).connected = !1),
											(s.receiveBuffer = []),
											(s.sendBuffer = []),
											(s.ids = 0),
											(s.acks = {}),
											(s.flags = {}),
											(s.io = e),
											(s.nsp = n),
											o && o.auth && (s.auth = o.auth),
											s.io._autoConnect && s.open(),
											s
										);
									}
									return (
										n(i, [
											{
												key: 'disconnected',
												get: function () {
													return !this.connected;
												}
											},
											{
												key: 'subEvents',
												value: function () {
													if (!this.subs) {
														var e = this.io;
														this.subs = [
															Ee(e, 'open', this.onopen.bind(this)),
															Ee(e, 'packet', this.onpacket.bind(this)),
															Ee(e, 'error', this.onerror.bind(this)),
															Ee(e, 'close', this.onclose.bind(this))
														];
													}
												}
											},
											{
												key: 'active',
												get: function () {
													return !!this.subs;
												}
											},
											{
												key: 'connect',
												value: function () {
													return this.connected || (this.subEvents(), this.io._reconnecting || this.io.open(), 'open' === this.io._readyState && this.onopen()), this;
												}
											},
											{
												key: 'open',
												value: function () {
													return this.connect();
												}
											},
											{
												key: 'send',
												value: function () {
													for (var e = arguments.length, t = new Array(e), r = 0; r < e; r++) t[r] = arguments[r];
													return t.unshift('message'), this.emit.apply(this, t), this;
												}
											},
											{
												key: 'emit',
												value: function (e) {
													if (Se.hasOwnProperty(e)) throw new Error('"' + e + '" is a reserved event name');
													for (var t = arguments.length, r = new Array(t > 1 ? t - 1 : 0), n = 1; n < t; n++) r[n - 1] = arguments[n];
													r.unshift(e);
													var i = { type: fe.EVENT, data: r, options: {} };
													if (((i.options.compress = !1 !== this.flags.compress), 'function' == typeof r[r.length - 1])) {
														var o = this.ids++,
															s = r.pop();
														this._registerAckCallback(o, s), (i.id = o);
													}
													var a = this.io.engine && this.io.engine.transport && this.io.engine.transport.writable;
													return (
														(this.flags.volatile && (!a || !this.connected)) ||
															(this.connected ? (this.notifyOutgoingListeners(i), this.packet(i)) : this.sendBuffer.push(i)),
														(this.flags = {}),
														this
													);
												}
											},
											{
												key: '_registerAckCallback',
												value: function (e, t) {
													var r = this,
														n = this.flags.timeout;
													if (void 0 !== n) {
														var i = this.io.setTimeoutFn(function () {
															delete r.acks[e];
															for (var n = 0; n < r.sendBuffer.length; n++) r.sendBuffer[n].id === e && r.sendBuffer.splice(n, 1);
															t.call(r, new Error('operation has timed out'));
														}, n);
														this.acks[e] = function () {
															r.io.clearTimeoutFn(i);
															for (var e = arguments.length, n = new Array(e), o = 0; o < e; o++) n[o] = arguments[o];
															t.apply(r, [null].concat(n));
														};
													} else this.acks[e] = t;
												}
											},
											{
												key: 'packet',
												value: function (e) {
													(e.nsp = this.nsp), this.io._packet(e);
												}
											},
											{
												key: 'onopen',
												value: function () {
													var e = this;
													'function' == typeof this.auth
														? this.auth(function (t) {
																e.packet({ type: fe.CONNECT, data: t });
														  })
														: this.packet({ type: fe.CONNECT, data: this.auth });
												}
											},
											{
												key: 'onerror',
												value: function (e) {
													this.connected || this.emitReserved('connect_error', e);
												}
											},
											{
												key: 'onclose',
												value: function (e, t) {
													(this.connected = !1), delete this.id, this.emitReserved('disconnect', e, t);
												}
											},
											{
												key: 'onpacket',
												value: function (e) {
													if (e.nsp === this.nsp)
														switch (e.type) {
															case fe.CONNECT:
																if (e.data && e.data.sid) {
																	var t = e.data.sid;
																	this.onconnect(t);
																} else
																	this.emitReserved(
																		'connect_error',
																		new Error(
																			'It seems you are trying to reach a Socket.IO server in v2.x with a v3.x client, but they are not compatible (more information here: https://socket.io/docs/v3/migrating-from-2-x-to-3-0/)'
																		)
																	);
																break;
															case fe.EVENT:
															case fe.BINARY_EVENT:
																this.onevent(e);
																break;
															case fe.ACK:
															case fe.BINARY_ACK:
																this.onack(e);
																break;
															case fe.DISCONNECT:
																this.ondisconnect();
																break;
															case fe.CONNECT_ERROR:
																this.destroy();
																var r = new Error(e.data.message);
																(r.data = e.data.data), this.emitReserved('connect_error', r);
														}
												}
											},
											{
												key: 'onevent',
												value: function (e) {
													var t = e.data || [];
													null != e.id && t.push(this.ack(e.id)), this.connected ? this.emitEvent(t) : this.receiveBuffer.push(Object.freeze(t));
												}
											},
											{
												key: 'emitEvent',
												value: function (e) {
													if (this._anyListeners && this._anyListeners.length) {
														var t,
															r = y(this._anyListeners.slice());
														try {
															for (r.s(); !(t = r.n()).done; ) t.value.apply(this, e);
														} catch (e) {
															r.e(e);
														} finally {
															r.f();
														}
													}
													d(a(i.prototype), 'emit', this).apply(this, e);
												}
											},
											{
												key: 'ack',
												value: function (e) {
													var t = this,
														r = !1;
													return function () {
														if (!r) {
															r = !0;
															for (var n = arguments.length, i = new Array(n), o = 0; o < n; o++) i[o] = arguments[o];
															t.packet({ type: fe.ACK, id: e, data: i });
														}
													};
												}
											},
											{
												key: 'onack',
												value: function (e) {
													var t = this.acks[e.id];
													'function' == typeof t && (t.apply(this, e.data), delete this.acks[e.id]);
												}
											},
											{
												key: 'onconnect',
												value: function (e) {
													(this.id = e), (this.connected = !0), this.emitBuffered(), this.emitReserved('connect');
												}
											},
											{
												key: 'emitBuffered',
												value: function () {
													var e = this;
													this.receiveBuffer.forEach(function (t) {
														return e.emitEvent(t);
													}),
														(this.receiveBuffer = []),
														this.sendBuffer.forEach(function (t) {
															e.notifyOutgoingListeners(t), e.packet(t);
														}),
														(this.sendBuffer = []);
												}
											},
											{
												key: 'ondisconnect',
												value: function () {
													this.destroy(), this.onclose('io server disconnect');
												}
											},
											{
												key: 'destroy',
												value: function () {
													this.subs &&
														(this.subs.forEach(function (e) {
															return e();
														}),
														(this.subs = void 0)),
														this.io._destroy(this);
												}
											},
											{
												key: 'disconnect',
												value: function () {
													return this.connected && this.packet({ type: fe.DISCONNECT }), this.destroy(), this.connected && this.onclose('io client disconnect'), this;
												}
											},
											{
												key: 'close',
												value: function () {
													return this.disconnect();
												}
											},
											{
												key: 'compress',
												value: function (e) {
													return (this.flags.compress = e), this;
												}
											},
											{
												key: 'volatile',
												get: function () {
													return (this.flags.volatile = !0), this;
												}
											},
											{
												key: 'timeout',
												value: function (e) {
													return (this.flags.timeout = e), this;
												}
											},
											{
												key: 'onAny',
												value: function (e) {
													return (this._anyListeners = this._anyListeners || []), this._anyListeners.push(e), this;
												}
											},
											{
												key: 'prependAny',
												value: function (e) {
													return (this._anyListeners = this._anyListeners || []), this._anyListeners.unshift(e), this;
												}
											},
											{
												key: 'offAny',
												value: function (e) {
													if (!this._anyListeners) return this;
													if (e) {
														for (var t = this._anyListeners, r = 0; r < t.length; r++) if (e === t[r]) return t.splice(r, 1), this;
													} else this._anyListeners = [];
													return this;
												}
											},
											{
												key: 'listenersAny',
												value: function () {
													return this._anyListeners || [];
												}
											},
											{
												key: 'onAnyOutgoing',
												value: function (e) {
													return (this._anyOutgoingListeners = this._anyOutgoingListeners || []), this._anyOutgoingListeners.push(e), this;
												}
											},
											{
												key: 'prependAnyOutgoing',
												value: function (e) {
													return (this._anyOutgoingListeners = this._anyOutgoingListeners || []), this._anyOutgoingListeners.unshift(e), this;
												}
											},
											{
												key: 'offAnyOutgoing',
												value: function (e) {
													if (!this._anyOutgoingListeners) return this;
													if (e) {
														for (var t = this._anyOutgoingListeners, r = 0; r < t.length; r++) if (e === t[r]) return t.splice(r, 1), this;
													} else this._anyOutgoingListeners = [];
													return this;
												}
											},
											{
												key: 'listenersAnyOutgoing',
												value: function () {
													return this._anyOutgoingListeners || [];
												}
											},
											{
												key: 'notifyOutgoingListeners',
												value: function (e) {
													if (this._anyOutgoingListeners && this._anyOutgoingListeners.length) {
														var t,
															r = y(this._anyOutgoingListeners.slice());
														try {
															for (r.s(); !(t = r.n()).done; ) t.value.apply(this, e.data);
														} catch (e) {
															r.e(e);
														} finally {
															r.f();
														}
													}
												}
											}
										]),
										i
									);
								})();
							function Ce(e) {
								(e = e || {}),
									(this.ms = e.min || 100),
									(this.max = e.max || 1e4),
									(this.factor = e.factor || 2),
									(this.jitter = e.jitter > 0 && e.jitter <= 1 ? e.jitter : 0),
									(this.attempts = 0);
							}
							(Ce.prototype.duration = function () {
								var e = this.ms * Math.pow(this.factor, this.attempts++);
								if (this.jitter) {
									var t = Math.random(),
										r = Math.floor(t * this.jitter * e);
									e = 0 == (1 & Math.floor(10 * t)) ? e - r : e + r;
								}
								return 0 | Math.min(e, this.max);
							}),
								(Ce.prototype.reset = function () {
									this.attempts = 0;
								}),
								(Ce.prototype.setMin = function (e) {
									this.ms = e;
								}),
								(Ce.prototype.setMax = function (e) {
									this.max = e;
								}),
								(Ce.prototype.setJitter = function (e) {
									this.jitter = e;
								});
							var Re = (function (r) {
									s(o, x);
									var i = p(o);
									function o(r, n) {
										var s, a;
										t(this, o),
											((s = i.call(this)).nsps = {}),
											(s.subs = []),
											r && 'object' === e(r) && ((n = r), (r = void 0)),
											((n = n || {}).path = n.path || '/socket.io'),
											(s.opts = n),
											D(h(s), n),
											s.reconnection(!1 !== n.reconnection),
											s.reconnectionAttempts(n.reconnectionAttempts || 1 / 0),
											s.reconnectionDelay(n.reconnectionDelay || 1e3),
											s.reconnectionDelayMax(n.reconnectionDelayMax || 5e3),
											s.randomizationFactor(null !== (a = n.randomizationFactor) && void 0 !== a ? a : 0.5),
											(s.backoff = new Ce({ min: s.reconnectionDelay(), max: s.reconnectionDelayMax(), jitter: s.randomizationFactor() })),
											s.timeout(null == n.timeout ? 2e4 : n.timeout),
											(s._readyState = 'closed'),
											(s.uri = r);
										var u = n.parser || ke;
										return (s.encoder = new u.Encoder()), (s.decoder = new u.Decoder()), (s._autoConnect = !1 !== n.autoConnect), s._autoConnect && s.open(), s;
									}
									return (
										n(o, [
											{
												key: 'reconnection',
												value: function (e) {
													return arguments.length ? ((this._reconnection = !!e), this) : this._reconnection;
												}
											},
											{
												key: 'reconnectionAttempts',
												value: function (e) {
													return void 0 === e ? this._reconnectionAttempts : ((this._reconnectionAttempts = e), this);
												}
											},
											{
												key: 'reconnectionDelay',
												value: function (e) {
													var t;
													return void 0 === e ? this._reconnectionDelay : ((this._reconnectionDelay = e), null === (t = this.backoff) || void 0 === t || t.setMin(e), this);
												}
											},
											{
												key: 'randomizationFactor',
												value: function (e) {
													var t;
													return void 0 === e
														? this._randomizationFactor
														: ((this._randomizationFactor = e), null === (t = this.backoff) || void 0 === t || t.setJitter(e), this);
												}
											},
											{
												key: 'reconnectionDelayMax',
												value: function (e) {
													var t;
													return void 0 === e
														? this._reconnectionDelayMax
														: ((this._reconnectionDelayMax = e), null === (t = this.backoff) || void 0 === t || t.setMax(e), this);
												}
											},
											{
												key: 'timeout',
												value: function (e) {
													return arguments.length ? ((this._timeout = e), this) : this._timeout;
												}
											},
											{
												key: 'maybeReconnectOnOpen',
												value: function () {
													!this._reconnecting && this._reconnection && 0 === this.backoff.attempts && this.reconnect();
												}
											},
											{
												key: 'open',
												value: function (e) {
													var t = this;
													if (~this._readyState.indexOf('open')) return this;
													this.engine = new ce(this.uri, this.opts);
													var r = this.engine,
														n = this;
													(this._readyState = 'opening'), (this.skipReconnect = !1);
													var i = Ee(r, 'open', function () {
															n.onopen(), e && e();
														}),
														o = Ee(r, 'error', function (r) {
															n.cleanup(), (n._readyState = 'closed'), t.emitReserved('error', r), e ? e(r) : n.maybeReconnectOnOpen();
														});
													if (!1 !== this._timeout) {
														var s = this._timeout;
														0 === s && i();
														var a = this.setTimeoutFn(function () {
															i(), r.close(), r.emit('error', new Error('timeout'));
														}, s);
														this.opts.autoUnref && a.unref(),
															this.subs.push(function () {
																clearTimeout(a);
															});
													}
													return this.subs.push(i), this.subs.push(o), this;
												}
											},
											{
												key: 'connect',
												value: function (e) {
													return this.open(e);
												}
											},
											{
												key: 'onopen',
												value: function () {
													this.cleanup(), (this._readyState = 'open'), this.emitReserved('open');
													var e = this.engine;
													this.subs.push(
														Ee(e, 'ping', this.onping.bind(this)),
														Ee(e, 'data', this.ondata.bind(this)),
														Ee(e, 'error', this.onerror.bind(this)),
														Ee(e, 'close', this.onclose.bind(this)),
														Ee(this.decoder, 'decoded', this.ondecoded.bind(this))
													);
												}
											},
											{
												key: 'onping',
												value: function () {
													this.emitReserved('ping');
												}
											},
											{
												key: 'ondata',
												value: function (e) {
													this.decoder.add(e);
												}
											},
											{
												key: 'ondecoded',
												value: function (e) {
													this.emitReserved('packet', e);
												}
											},
											{
												key: 'onerror',
												value: function (e) {
													this.emitReserved('error', e);
												}
											},
											{
												key: 'socket',
												value: function (e, t) {
													var r = this.nsps[e];
													return r || ((r = new Ae(this, e, t)), (this.nsps[e] = r)), r;
												}
											},
											{
												key: '_destroy',
												value: function (e) {
													for (var t = 0, r = Object.keys(this.nsps); t < r.length; t++) {
														var n = r[t];
														if (this.nsps[n].active) return;
													}
													this._close();
												}
											},
											{
												key: '_packet',
												value: function (e) {
													for (var t = this.encoder.encode(e), r = 0; r < t.length; r++) this.engine.write(t[r], e.options);
												}
											},
											{
												key: 'cleanup',
												value: function () {
													this.subs.forEach(function (e) {
														return e();
													}),
														(this.subs.length = 0),
														this.decoder.destroy();
												}
											},
											{
												key: '_close',
												value: function () {
													(this.skipReconnect = !0), (this._reconnecting = !1), this.onclose('forced close'), this.engine && this.engine.close();
												}
											},
											{
												key: 'disconnect',
												value: function () {
													return this._close();
												}
											},
											{
												key: 'onclose',
												value: function (e, t) {
													this.cleanup(),
														this.backoff.reset(),
														(this._readyState = 'closed'),
														this.emitReserved('close', e, t),
														this._reconnection && !this.skipReconnect && this.reconnect();
												}
											},
											{
												key: 'reconnect',
												value: function () {
													var e = this;
													if (this._reconnecting || this.skipReconnect) return this;
													var t = this;
													if (this.backoff.attempts >= this._reconnectionAttempts) this.backoff.reset(), this.emitReserved('reconnect_failed'), (this._reconnecting = !1);
													else {
														var r = this.backoff.duration();
														this._reconnecting = !0;
														var n = this.setTimeoutFn(function () {
															t.skipReconnect ||
																(e.emitReserved('reconnect_attempt', t.backoff.attempts),
																t.skipReconnect ||
																	t.open(function (r) {
																		r ? ((t._reconnecting = !1), t.reconnect(), e.emitReserved('reconnect_error', r)) : t.onreconnect();
																	}));
														}, r);
														this.opts.autoUnref && n.unref(),
															this.subs.push(function () {
																clearTimeout(n);
															});
													}
												}
											},
											{
												key: 'onreconnect',
												value: function () {
													var e = this.backoff.attempts;
													(this._reconnecting = !1), this.backoff.reset(), this.emitReserved('reconnect', e);
												}
											}
										]),
										o
									);
								})(),
								Oe = {};
							function Pe(t, r) {
								'object' === e(t) && ((r = t), (t = void 0));
								var n,
									i = (function (e) {
										var t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : '',
											r = arguments.length > 2 ? arguments[2] : void 0,
											n = e;
										(r = r || ('undefined' != typeof location && location)),
											null == e && (e = r.protocol + '//' + r.host),
											'string' == typeof e &&
												('/' === e.charAt(0) && (e = '/' === e.charAt(1) ? r.protocol + e : r.host + e),
												/^(https?|wss?):\/\//.test(e) || (e = void 0 !== r ? r.protocol + '//' + e : 'https://' + e),
												(n = ue(e))),
											n.port || (/^(http|ws)$/.test(n.protocol) ? (n.port = '80') : /^(http|ws)s$/.test(n.protocol) && (n.port = '443')),
											(n.path = n.path || '/');
										var i = -1 !== n.host.indexOf(':') ? '[' + n.host + ']' : n.host;
										return (n.id = n.protocol + '://' + i + ':' + n.port + t), (n.href = n.protocol + '://' + i + (r && r.port === n.port ? '' : ':' + n.port)), n;
									})(t, (r = r || {}).path || '/socket.io'),
									o = i.source,
									s = i.id,
									a = i.path,
									u = Oe[s] && a in Oe[s].nsps;
								return (
									r.forceNew || r['force new connection'] || !1 === r.multiplex || u ? (n = new Re(o, r)) : (Oe[s] || (Oe[s] = new Re(o, r)), (n = Oe[s])),
									i.query && !r.query && (r.query = i.queryKey),
									n.socket(i.path, r)
								);
							}
							return i(Pe, { Manager: Re, Socket: Ae, io: Pe, connect: Pe }), Pe;
						}),
						'object' == (void 0 === r ? 'undefined' : (0, o.default)(r)) && void 0 !== t ? (t.exports = i()) : ((n = 'undefined' != typeof globalThis ? globalThis : n || self).io = i());
				},
				{ '@babel/runtime/helpers/interopRequireDefault': 7, '@babel/runtime/helpers/typeof': 12 }
			],
			15: [
				function (e, t, r) {
					'use strict';
					var n = e('@babel/runtime/helpers/interopRequireDefault'),
						i = n(e('@babel/runtime/helpers/assertThisInitialized')),
						o = n(e('@babel/runtime/helpers/inherits')),
						s = n(e('@babel/runtime/helpers/possibleConstructorReturn')),
						a = n(e('@babel/runtime/helpers/getPrototypeOf')),
						u = n(e('@babel/runtime/helpers/createClass')),
						c = n(e('@babel/runtime/helpers/classCallCheck')),
						f = n(e('@babel/runtime/helpers/typeof'));
					function l(e) {
						var t = (function () {
							if ('undefined' == typeof Reflect || !Reflect.construct) return !1;
							if (Reflect.construct.sham) return !1;
							if ('function' == typeof Proxy) return !0;
							try {
								return Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})), !0;
							} catch (e) {
								return !1;
							}
						})();
						return function () {
							var r,
								n = (0, a.default)(e);
							if (t) {
								var i = (0, a.default)(this).constructor;
								r = Reflect.construct(n, arguments, i);
							} else r = n.apply(this, arguments);
							return (0, s.default)(this, r);
						};
					}
					!(function (e, n) {
						if ('object' == (void 0 === r ? 'undefined' : (0, f.default)(r)) && 'object' == (void 0 === t ? 'undefined' : (0, f.default)(t))) t.exports = n();
						else {
							var i = n();
							for (var o in i) ('object' == (void 0 === r ? 'undefined' : (0, f.default)(r)) ? r : e)[o] = i[o];
						}
					})(window, function () {
						return (function (e) {
							var t = {};
							function r(n) {
								if (t[n]) return t[n].exports;
								var i = (t[n] = { i: n, l: !1, exports: {} });
								return e[n].call(i.exports, i, i.exports, r), (i.l = !0), i.exports;
							}
							return (
								(r.m = e),
								(r.c = t),
								(r.d = function (e, t, n) {
									r.o(e, t) || Object.defineProperty(e, t, { enumerable: !0, get: n });
								}),
								(r.r = function (e) {
									'undefined' != typeof Symbol && Symbol.toStringTag && Object.defineProperty(e, Symbol.toStringTag, { value: 'Module' }),
										Object.defineProperty(e, '__esModule', { value: !0 });
								}),
								(r.t = function (e, t) {
									if ((1 & t && (e = r(e)), 8 & t)) return e;
									if (4 & t && 'object' == (0, f.default)(e) && e && e.__esModule) return e;
									var n = Object.create(null);
									if ((r.r(n), Object.defineProperty(n, 'default', { enumerable: !0, value: e }), 2 & t && 'string' != typeof e))
										for (var i in e)
											r.d(
												n,
												i,
												function (t) {
													return e[t];
												}.bind(null, i)
											);
									return n;
								}),
								(r.n = function (e) {
									var t =
										e && e.__esModule
											? function () {
													return e.default;
											  }
											: function () {
													return e;
											  };
									return r.d(t, 'a', t), t;
								}),
								(r.o = function (e, t) {
									return Object.prototype.hasOwnProperty.call(e, t);
								}),
								(r.p = ''),
								r((r.s = 24))
							);
						})([
							function (e, t) {
								e.exports = function () {
									return function () {};
								};
							},
							function (e, t) {
								var r;
								r = (function () {
									return this;
								})();
								try {
									r = r || Function('return this')() || (0, eval)('this');
								} catch (e) {
									'object' == ('undefined' == typeof window ? 'undefined' : (0, f.default)(window)) && (r = window);
								}
								e.exports = r;
							},
							function (e, t) {
								var r = {}.toString;
								e.exports =
									Array.isArray ||
									function (e) {
										return '[object Array]' == r.call(e);
									};
							},
							function (e, t, r) {
								function n(e) {
									if (e)
										return (function (e) {
											for (var t in n.prototype) e[t] = n.prototype[t];
											return e;
										})(e);
								}
								(e.exports = n),
									(n.prototype.on = n.prototype.addEventListener =
										function (e, t) {
											return (this._callbacks = this._callbacks || {}), (this._callbacks['$' + e] = this._callbacks['$' + e] || []).push(t), this;
										}),
									(n.prototype.once = function (e, t) {
										function r() {
											this.off(e, r), t.apply(this, arguments);
										}
										return (r.fn = t), this.on(e, r), this;
									}),
									(n.prototype.off =
										n.prototype.removeListener =
										n.prototype.removeAllListeners =
										n.prototype.removeEventListener =
											function (e, t) {
												if (((this._callbacks = this._callbacks || {}), 0 == arguments.length)) return (this._callbacks = {}), this;
												var r,
													n = this._callbacks['$' + e];
												if (!n) return this;
												if (1 == arguments.length) return delete this._callbacks['$' + e], this;
												for (var i = 0; i < n.length; i++)
													if ((r = n[i]) === t || r.fn === t) {
														n.splice(i, 1);
														break;
													}
												return this;
											}),
									(n.prototype.emit = function (e) {
										this._callbacks = this._callbacks || {};
										var t = [].slice.call(arguments, 1),
											r = this._callbacks['$' + e];
										if (r) for (var n = 0, i = (r = r.slice(0)).length; n < i; ++n) r[n].apply(this, t);
										return this;
									}),
									(n.prototype.listeners = function (e) {
										return (this._callbacks = this._callbacks || {}), this._callbacks['$' + e] || [];
									}),
									(n.prototype.hasListeners = function (e) {
										return !!this.listeners(e).length;
									});
							},
							function (e, t, r) {
								var n = r(0)('socket.io-parser'),
									i = r(3),
									o = r(20),
									s = r(2),
									a = r(9);
								function u() {}
								(t.protocol = 4),
									(t.types = ['CONNECT', 'DISCONNECT', 'EVENT', 'ACK', 'ERROR', 'BINARY_EVENT', 'BINARY_ACK']),
									(t.CONNECT = 0),
									(t.DISCONNECT = 1),
									(t.EVENT = 2),
									(t.ACK = 3),
									(t.ERROR = 4),
									(t.BINARY_EVENT = 5),
									(t.BINARY_ACK = 6),
									(t.Encoder = u),
									(t.Decoder = l);
								var c = t.ERROR + '"encode error"';
								function f(e) {
									var r = '' + e.type;
									if (
										((t.BINARY_EVENT !== e.type && t.BINARY_ACK !== e.type) || (r += e.attachments + '-'),
										e.nsp && '/' !== e.nsp && (r += e.nsp + ','),
										null != e.id && (r += e.id),
										null != e.data)
									) {
										var i = (function (e) {
											try {
												return JSON.stringify(e);
											} catch (e) {
												return !1;
											}
										})(e.data);
										if (!1 === i) return c;
										r += i;
									}
									return n('encoded %j as %s', e, r), r;
								}
								function l() {
									this.reconstructor = null;
								}
								function h(e) {
									(this.reconPack = e), (this.buffers = []);
								}
								function p(e) {
									return { type: t.ERROR, data: 'parser error: ' + e };
								}
								(u.prototype.encode = function (e, r) {
									n('encoding packet %j', e),
										t.BINARY_EVENT === e.type || t.BINARY_ACK === e.type
											? (function (e, t) {
													o.removeBlobs(e, function (e) {
														var r = o.deconstructPacket(e),
															n = f(r.packet),
															i = r.buffers;
														i.unshift(n), t(i);
													});
											  })(e, r)
											: r([f(e)]);
								}),
									i(l.prototype),
									(l.prototype.add = function (e) {
										var r;
										if ('string' == typeof e)
											(r = (function (e) {
												var r = 0,
													i = { type: Number(e.charAt(0)) };
												if (null == t.types[i.type]) return p('unknown packet type ' + i.type);
												if (t.BINARY_EVENT === i.type || t.BINARY_ACK === i.type) {
													for (var o = ''; '-' !== e.charAt(++r) && ((o += e.charAt(r)), r != e.length); );
													if (o != Number(o) || '-' !== e.charAt(r)) throw new Error('Illegal attachments');
													i.attachments = Number(o);
												}
												if ('/' === e.charAt(r + 1))
													for (i.nsp = ''; ++r; ) {
														if (',' === (u = e.charAt(r))) break;
														if (((i.nsp += u), r === e.length)) break;
													}
												else i.nsp = '/';
												var a = e.charAt(r + 1);
												if ('' !== a && Number(a) == a) {
													for (i.id = ''; ++r; ) {
														var u;
														if (null == (u = e.charAt(r)) || Number(u) != u) {
															--r;
															break;
														}
														if (((i.id += e.charAt(r)), r === e.length)) break;
													}
													i.id = Number(i.id);
												}
												if (e.charAt(++r)) {
													var c = (function (e) {
														try {
															return JSON.parse(e);
														} catch (e) {
															return !1;
														}
													})(e.substr(r));
													if (!(!1 !== c && (i.type === t.ERROR || s(c)))) return p('invalid payload');
													i.data = c;
												}
												return n('decoded %s as %j', e, i), i;
											})(e)),
												t.BINARY_EVENT === r.type || t.BINARY_ACK === r.type
													? ((this.reconstructor = new h(r)), 0 === this.reconstructor.reconPack.attachments && this.emit('decoded', r))
													: this.emit('decoded', r);
										else {
											if (!a(e) && !e.base64) throw new Error('Unknown type: ' + e);
											if (!this.reconstructor) throw new Error('got binary data when not reconstructing a packet');
											(r = this.reconstructor.takeBinaryData(e)) && ((this.reconstructor = null), this.emit('decoded', r));
										}
									}),
									(l.prototype.destroy = function () {
										this.reconstructor && this.reconstructor.finishedReconstruction();
									}),
									(h.prototype.takeBinaryData = function (e) {
										if ((this.buffers.push(e), this.buffers.length === this.reconPack.attachments)) {
											var t = o.reconstructPacket(this.reconPack, this.buffers);
											return this.finishedReconstruction(), t;
										}
										return null;
									}),
									(h.prototype.finishedReconstruction = function () {
										(this.reconPack = null), (this.buffers = []);
									});
							},
							function (e, t) {
								var r = [].slice;
								e.exports = function (e, t) {
									if (('string' == typeof t && (t = e[t]), 'function' != typeof t)) throw new Error('bind() requires a function');
									var n = r.call(arguments, 2);
									return function () {
										return t.apply(e, n.concat(r.call(arguments)));
									};
								};
							},
							function (e, t) {
								e.exports = function (e, t, r) {
									return (
										e.on(t, r),
										{
											destroy: function () {
												e.removeListener(t, r);
											}
										}
									);
								};
							},
							function (e, t, r) {
								var n = r(4),
									i = r(3),
									o = r(18),
									s = r(6),
									a = r(5),
									u = r(0)('socket.io-client:socket'),
									c = r(17),
									l = r(16);
								e.exports = d;
								var h = {
										connect: 1,
										connect_error: 1,
										connect_timeout: 1,
										connecting: 1,
										disconnect: 1,
										error: 1,
										reconnect: 1,
										reconnect_attempt: 1,
										reconnect_failed: 1,
										reconnect_error: 1,
										reconnecting: 1,
										ping: 1,
										pong: 1
									},
									p = i.prototype.emit;
								function d(e, t, r) {
									(this.io = e),
										(this.nsp = t),
										(this.json = this),
										(this.ids = 0),
										(this.acks = {}),
										(this.receiveBuffer = []),
										(this.sendBuffer = []),
										(this.connected = !1),
										(this.disconnected = !0),
										(this.flags = {}),
										r && r.query && (this.query = r.query),
										this.io.autoConnect && this.open();
								}
								i(d.prototype),
									(d.prototype.subEvents = function () {
										if (!this.subs) {
											var e = this.io;
											this.subs = [s(e, 'open', a(this, 'onopen')), s(e, 'packet', a(this, 'onpacket')), s(e, 'close', a(this, 'onclose'))];
										}
									}),
									(d.prototype.open = d.prototype.connect =
										function () {
											return this.connected ? this : (this.subEvents(), this.io.open(), 'open' === this.io.readyState && this.onopen(), this.emit('connecting'), this);
										}),
									(d.prototype.send = function () {
										var e = o(arguments);
										return e.unshift('message'), this.emit.apply(this, e), this;
									}),
									(d.prototype.emit = function (e) {
										if (h.hasOwnProperty(e)) return p.apply(this, arguments), this;
										var t = o(arguments),
											r = { type: (void 0 !== this.flags.binary ? this.flags.binary : l(t)) ? n.BINARY_EVENT : n.EVENT, data: t, options: {} };
										return (
											(r.options.compress = !this.flags || !1 !== this.flags.compress),
											'function' == typeof t[t.length - 1] && (u('emitting packet with ack id %d', this.ids), (this.acks[this.ids] = t.pop()), (r.id = this.ids++)),
											this.connected ? this.packet(r) : this.sendBuffer.push(r),
											(this.flags = {}),
											this
										);
									}),
									(d.prototype.packet = function (e) {
										(e.nsp = this.nsp), this.io.packet(e);
									}),
									(d.prototype.onopen = function () {
										if ((u('transport is open - connecting'), '/' !== this.nsp))
											if (this.query) {
												var e = 'object' == (0, f.default)(this.query) ? c.encode(this.query) : this.query;
												u('sending connect packet with query %s', e), this.packet({ type: n.CONNECT, query: e });
											} else this.packet({ type: n.CONNECT });
									}),
									(d.prototype.onclose = function (e) {
										u('close (%s)', e), (this.connected = !1), (this.disconnected = !0), delete this.id, this.emit('disconnect', e);
									}),
									(d.prototype.onpacket = function (e) {
										var t = e.nsp === this.nsp,
											r = e.type === n.ERROR && '/' === e.nsp;
										if (t || r)
											switch (e.type) {
												case n.CONNECT:
													this.onconnect();
													break;
												case n.EVENT:
												case n.BINARY_EVENT:
													this.onevent(e);
													break;
												case n.ACK:
												case n.BINARY_ACK:
													this.onack(e);
													break;
												case n.DISCONNECT:
													this.ondisconnect();
													break;
												case n.ERROR:
													this.emit('error', e.data);
											}
									}),
									(d.prototype.onevent = function (e) {
										var t = e.data || [];
										u('emitting event %j', t),
											null != e.id && (u('attaching ack callback to event'), t.push(this.ack(e.id))),
											this.connected ? p.apply(this, t) : this.receiveBuffer.push(t);
									}),
									(d.prototype.ack = function (e) {
										var t = this,
											r = !1;
										return function () {
											if (!r) {
												r = !0;
												var i = o(arguments);
												u('sending ack %j', i), t.packet({ type: l(i) ? n.BINARY_ACK : n.ACK, id: e, data: i });
											}
										};
									}),
									(d.prototype.onack = function (e) {
										var t = this.acks[e.id];
										'function' == typeof t ? (u('calling ack %s with %j', e.id, e.data), t.apply(this, e.data), delete this.acks[e.id]) : u('bad ack %s', e.id);
									}),
									(d.prototype.onconnect = function () {
										(this.connected = !0), (this.disconnected = !1), this.emit('connect'), this.emitBuffered();
									}),
									(d.prototype.emitBuffered = function () {
										var e;
										for (e = 0; e < this.receiveBuffer.length; e++) p.apply(this, this.receiveBuffer[e]);
										for (this.receiveBuffer = [], e = 0; e < this.sendBuffer.length; e++) this.packet(this.sendBuffer[e]);
										this.sendBuffer = [];
									}),
									(d.prototype.ondisconnect = function () {
										u('server disconnect (%s)', this.nsp), this.destroy(), this.onclose('io server disconnect');
									}),
									(d.prototype.destroy = function () {
										if (this.subs) {
											for (var e = 0; e < this.subs.length; e++) this.subs[e].destroy();
											this.subs = null;
										}
										this.io.destroy(this);
									}),
									(d.prototype.close = d.prototype.disconnect =
										function () {
											return (
												this.connected && (u('performing disconnect (%s)', this.nsp), this.packet({ type: n.DISCONNECT })),
												this.destroy(),
												this.connected && this.onclose('io client disconnect'),
												this
											);
										}),
									(d.prototype.compress = function (e) {
										return (this.flags.compress = e), this;
									}),
									(d.prototype.binary = function (e) {
										return (this.flags.binary = e), this;
									});
							},
							function (e, t, r) {
								var n = r(19),
									i = r(7),
									o = r(3),
									s = r(4),
									a = r(6),
									u = r(5),
									c = r(0)('socket.io-client:manager'),
									l = r(11),
									h = r(10),
									p = Object.prototype.hasOwnProperty;
								function d(e, t) {
									if (!(this instanceof d)) return new d(e, t);
									e && 'object' == (0, f.default)(e) && ((t = e), (e = void 0)),
										((t = t || {}).path = t.path || '/socket.io'),
										(this.nsps = {}),
										(this.subs = []),
										(this.opts = t),
										this.reconnection(!1 !== t.reconnection),
										this.reconnectionAttempts(t.reconnectionAttempts || 1 / 0),
										this.reconnectionDelay(t.reconnectionDelay || 1e3),
										this.reconnectionDelayMax(t.reconnectionDelayMax || 5e3),
										this.randomizationFactor(t.randomizationFactor || 0.5),
										(this.backoff = new h({ min: this.reconnectionDelay(), max: this.reconnectionDelayMax(), jitter: this.randomizationFactor() })),
										this.timeout(null == t.timeout ? 2e4 : t.timeout),
										(this.readyState = 'closed'),
										(this.uri = e),
										(this.connecting = []),
										(this.lastPing = null),
										(this.encoding = !1),
										(this.packetBuffer = []);
									var r = t.parser || s;
									(this.encoder = new r.Encoder()), (this.decoder = new r.Decoder()), (this.autoConnect = !1 !== t.autoConnect), this.autoConnect && this.open();
								}
								(e.exports = d),
									(d.prototype.emitAll = function () {
										for (var e in (this.emit.apply(this, arguments), this.nsps)) p.call(this.nsps, e) && this.nsps[e].emit.apply(this.nsps[e], arguments);
									}),
									(d.prototype.updateSocketIds = function () {
										for (var e in this.nsps) p.call(this.nsps, e) && (this.nsps[e].id = this.generateId(e));
									}),
									(d.prototype.generateId = function (e) {
										return ('/' === e ? '' : e + '#') + this.engine.id;
									}),
									o(d.prototype),
									(d.prototype.reconnection = function (e) {
										return arguments.length ? ((this._reconnection = !!e), this) : this._reconnection;
									}),
									(d.prototype.reconnectionAttempts = function (e) {
										return arguments.length ? ((this._reconnectionAttempts = e), this) : this._reconnectionAttempts;
									}),
									(d.prototype.reconnectionDelay = function (e) {
										return arguments.length ? ((this._reconnectionDelay = e), this.backoff && this.backoff.setMin(e), this) : this._reconnectionDelay;
									}),
									(d.prototype.randomizationFactor = function (e) {
										return arguments.length ? ((this._randomizationFactor = e), this.backoff && this.backoff.setJitter(e), this) : this._randomizationFactor;
									}),
									(d.prototype.reconnectionDelayMax = function (e) {
										return arguments.length ? ((this._reconnectionDelayMax = e), this.backoff && this.backoff.setMax(e), this) : this._reconnectionDelayMax;
									}),
									(d.prototype.timeout = function (e) {
										return arguments.length ? ((this._timeout = e), this) : this._timeout;
									}),
									(d.prototype.maybeReconnectOnOpen = function () {
										!this.reconnecting && this._reconnection && 0 === this.backoff.attempts && this.reconnect();
									}),
									(d.prototype.open = d.prototype.connect =
										function (e, t) {
											if ((c('readyState %s', this.readyState), ~this.readyState.indexOf('open'))) return this;
											c('opening %s', this.uri), (this.engine = n(this.uri, this.opts));
											var r = this.engine,
												i = this;
											(this.readyState = 'opening'), (this.skipReconnect = !1);
											var o = a(r, 'open', function () {
													i.onopen(), e && e();
												}),
												s = a(r, 'error', function (t) {
													if ((c('connect_error'), i.cleanup(), (i.readyState = 'closed'), i.emitAll('connect_error', t), e)) {
														var r = new Error('Connection error');
														(r.data = t), e(r);
													} else i.maybeReconnectOnOpen();
												});
											if (!1 !== this._timeout) {
												var u = this._timeout;
												c('connect attempt will timeout after %d', u);
												var f = setTimeout(function () {
													c('connect attempt timed out after %d', u), o.destroy(), r.close(), r.emit('error', 'timeout'), i.emitAll('connect_timeout', u);
												}, u);
												this.subs.push({
													destroy: function () {
														clearTimeout(f);
													}
												});
											}
											return this.subs.push(o), this.subs.push(s), this;
										}),
									(d.prototype.onopen = function () {
										c('open'), this.cleanup(), (this.readyState = 'open'), this.emit('open');
										var e = this.engine;
										this.subs.push(a(e, 'data', u(this, 'ondata'))),
											this.subs.push(a(e, 'ping', u(this, 'onping'))),
											this.subs.push(a(e, 'pong', u(this, 'onpong'))),
											this.subs.push(a(e, 'error', u(this, 'onerror'))),
											this.subs.push(a(e, 'close', u(this, 'onclose'))),
											this.subs.push(a(this.decoder, 'decoded', u(this, 'ondecoded')));
									}),
									(d.prototype.onping = function () {
										(this.lastPing = new Date()), this.emitAll('ping');
									}),
									(d.prototype.onpong = function () {
										this.emitAll('pong', new Date() - this.lastPing);
									}),
									(d.prototype.ondata = function (e) {
										this.decoder.add(e);
									}),
									(d.prototype.ondecoded = function (e) {
										this.emit('packet', e);
									}),
									(d.prototype.onerror = function (e) {
										c('error', e), this.emitAll('error', e);
									}),
									(d.prototype.socket = function (e, t) {
										var r = this.nsps[e];
										if (!r) {
											(r = new i(this, e, t)), (this.nsps[e] = r);
											var n = this;
											r.on('connecting', o),
												r.on('connect', function () {
													r.id = n.generateId(e);
												}),
												this.autoConnect && o();
										}
										function o() {
											~l(n.connecting, r) || n.connecting.push(r);
										}
										return r;
									}),
									(d.prototype.destroy = function (e) {
										var t = l(this.connecting, e);
										~t && this.connecting.splice(t, 1), this.connecting.length || this.close();
									}),
									(d.prototype.packet = function (e) {
										c('writing packet %j', e);
										var t = this;
										e.query && 0 === e.type && (e.nsp += '?' + e.query),
											t.encoding
												? t.packetBuffer.push(e)
												: ((t.encoding = !0),
												  this.encoder.encode(e, function (r) {
														for (var n = 0; n < r.length; n++) t.engine.write(r[n], e.options);
														(t.encoding = !1), t.processPacketQueue();
												  }));
									}),
									(d.prototype.processPacketQueue = function () {
										if (this.packetBuffer.length > 0 && !this.encoding) {
											var e = this.packetBuffer.shift();
											this.packet(e);
										}
									}),
									(d.prototype.cleanup = function () {
										c('cleanup');
										for (var e = this.subs.length, t = 0; t < e; t++) this.subs.shift().destroy();
										(this.packetBuffer = []), (this.encoding = !1), (this.lastPing = null), this.decoder.destroy();
									}),
									(d.prototype.close = d.prototype.disconnect =
										function () {
											c('disconnect'),
												(this.skipReconnect = !0),
												(this.reconnecting = !1),
												'opening' === this.readyState && this.cleanup(),
												this.backoff.reset(),
												(this.readyState = 'closed'),
												this.engine && this.engine.close();
										}),
									(d.prototype.onclose = function (e) {
										c('onclose'),
											this.cleanup(),
											this.backoff.reset(),
											(this.readyState = 'closed'),
											this.emit('close', e),
											this._reconnection && !this.skipReconnect && this.reconnect();
									}),
									(d.prototype.reconnect = function () {
										if (this.reconnecting || this.skipReconnect) return this;
										var e = this;
										if (this.backoff.attempts >= this._reconnectionAttempts)
											c('reconnect failed'), this.backoff.reset(), this.emitAll('reconnect_failed'), (this.reconnecting = !1);
										else {
											var t = this.backoff.duration();
											c('will wait %dms before reconnect attempt', t), (this.reconnecting = !0);
											var r = setTimeout(function () {
												e.skipReconnect ||
													(c('attempting reconnect'),
													e.emitAll('reconnect_attempt', e.backoff.attempts),
													e.emitAll('reconnecting', e.backoff.attempts),
													e.skipReconnect ||
														e.open(function (t) {
															t
																? (c('reconnect attempt error'), (e.reconnecting = !1), e.reconnect(), e.emitAll('reconnect_error', t.data))
																: (c('reconnect success'), e.onreconnect());
														}));
											}, t);
											this.subs.push({
												destroy: function () {
													clearTimeout(r);
												}
											});
										}
									}),
									(d.prototype.onreconnect = function () {
										var e = this.backoff.attempts;
										(this.reconnecting = !1), this.backoff.reset(), this.updateSocketIds(), this.emitAll('reconnect', e);
									});
							},
							function (e, t, r) {
								(function (t) {
									e.exports = function (e) {
										return (r && t.Buffer.isBuffer(e)) || (n && (e instanceof t.ArrayBuffer || i(e)));
									};
									var r = 'function' == typeof t.Buffer && 'function' == typeof t.Buffer.isBuffer,
										n = 'function' == typeof t.ArrayBuffer,
										i =
											n && 'function' == typeof t.ArrayBuffer.isView
												? t.ArrayBuffer.isView
												: function (e) {
														return e.buffer instanceof t.ArrayBuffer;
												  };
								}).call(this, r(1));
							},
							function (e, t) {
								function r(e) {
									(e = e || {}),
										(this.ms = e.min || 100),
										(this.max = e.max || 1e4),
										(this.factor = e.factor || 2),
										(this.jitter = e.jitter > 0 && e.jitter <= 1 ? e.jitter : 0),
										(this.attempts = 0);
								}
								(e.exports = r),
									(r.prototype.duration = function () {
										var e = this.ms * Math.pow(this.factor, this.attempts++);
										if (this.jitter) {
											var t = Math.random(),
												r = Math.floor(t * this.jitter * e);
											e = 0 == (1 & Math.floor(10 * t)) ? e - r : e + r;
										}
										return 0 | Math.min(e, this.max);
									}),
									(r.prototype.reset = function () {
										this.attempts = 0;
									}),
									(r.prototype.setMin = function (e) {
										this.ms = e;
									}),
									(r.prototype.setMax = function (e) {
										this.max = e;
									}),
									(r.prototype.setJitter = function (e) {
										this.jitter = e;
									});
							},
							function (e, t) {
								var r = [].indexOf;
								e.exports = function (e, t) {
									if (r) return e.indexOf(t);
									for (var n = 0; n < e.length; ++n) if (e[n] === t) return n;
									return -1;
								};
							},
							function (e, t) {
								var r = {}.toString;
								e.exports =
									Array.isArray ||
									function (e) {
										return '[object Array]' == r.call(e);
									};
							},
							function (e, t) {
								(t.read = function (e, t, r, n, i) {
									var o,
										s,
										a = 8 * i - n - 1,
										u = (1 << a) - 1,
										c = u >> 1,
										f = -7,
										l = r ? i - 1 : 0,
										h = r ? -1 : 1,
										p = e[t + l];
									for (l += h, o = p & ((1 << -f) - 1), p >>= -f, f += a; f > 0; o = 256 * o + e[t + l], l += h, f -= 8);
									for (s = o & ((1 << -f) - 1), o >>= -f, f += n; f > 0; s = 256 * s + e[t + l], l += h, f -= 8);
									if (0 === o) o = 1 - c;
									else {
										if (o === u) return s ? NaN : (1 / 0) * (p ? -1 : 1);
										(s += Math.pow(2, n)), (o -= c);
									}
									return (p ? -1 : 1) * s * Math.pow(2, o - n);
								}),
									(t.write = function (e, t, r, n, i, o) {
										var s,
											a,
											u,
											c = 8 * o - i - 1,
											f = (1 << c) - 1,
											l = f >> 1,
											h = 23 === i ? Math.pow(2, -24) - Math.pow(2, -77) : 0,
											p = n ? 0 : o - 1,
											d = n ? 1 : -1,
											v = t < 0 || (0 === t && 1 / t < 0) ? 1 : 0;
										for (
											t = Math.abs(t),
												isNaN(t) || t === 1 / 0
													? ((a = isNaN(t) ? 1 : 0), (s = f))
													: ((s = Math.floor(Math.log(t) / Math.LN2)),
													  t * (u = Math.pow(2, -s)) < 1 && (s--, (u *= 2)),
													  (t += s + l >= 1 ? h / u : h * Math.pow(2, 1 - l)) * u >= 2 && (s++, (u /= 2)),
													  s + l >= f
															? ((a = 0), (s = f))
															: s + l >= 1
															? ((a = (t * u - 1) * Math.pow(2, i)), (s += l))
															: ((a = t * Math.pow(2, l - 1) * Math.pow(2, i)), (s = 0)));
											i >= 8;
											e[r + p] = 255 & a, p += d, a /= 256, i -= 8
										);
										for (s = (s << i) | a, c += i; c > 0; e[r + p] = 255 & s, p += d, s /= 256, c -= 8);
										e[r + p - d] |= 128 * v;
									});
							},
							function (e, t, r) {
								(t.byteLength = function (e) {
									var t = c(e),
										r = t[0],
										n = t[1];
									return (3 * (r + n)) / 4 - n;
								}),
									(t.toByteArray = function (e) {
										for (var t, r = c(e), n = r[0], s = r[1], a = new o((3 * (n + s)) / 4 - s), u = 0, f = s > 0 ? n - 4 : n, l = 0; l < f; l += 4)
											(t = (i[e.charCodeAt(l)] << 18) | (i[e.charCodeAt(l + 1)] << 12) | (i[e.charCodeAt(l + 2)] << 6) | i[e.charCodeAt(l + 3)]),
												(a[u++] = (t >> 16) & 255),
												(a[u++] = (t >> 8) & 255),
												(a[u++] = 255 & t);
										return (
											2 === s && ((t = (i[e.charCodeAt(l)] << 2) | (i[e.charCodeAt(l + 1)] >> 4)), (a[u++] = 255 & t)),
											1 === s &&
												((t = (i[e.charCodeAt(l)] << 10) | (i[e.charCodeAt(l + 1)] << 4) | (i[e.charCodeAt(l + 2)] >> 2)), (a[u++] = (t >> 8) & 255), (a[u++] = 255 & t)),
											a
										);
									}),
									(t.fromByteArray = function (e) {
										for (var t, r = e.length, i = r % 3, o = [], s = 0, a = r - i; s < a; s += 16383) o.push(f(e, s, s + 16383 > a ? a : s + 16383));
										return (
											1 === i
												? ((t = e[r - 1]), o.push(n[t >> 2] + n[(t << 4) & 63] + '=='))
												: 2 === i && ((t = (e[r - 2] << 8) + e[r - 1]), o.push(n[t >> 10] + n[(t >> 4) & 63] + n[(t << 2) & 63] + '=')),
											o.join('')
										);
									});
								for (
									var n = [],
										i = [],
										o = 'undefined' != typeof Uint8Array ? Uint8Array : Array,
										s = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/',
										a = 0,
										u = s.length;
									a < u;
									++a
								)
									(n[a] = s[a]), (i[s.charCodeAt(a)] = a);
								function c(e) {
									var t = e.length;
									if (t % 4 > 0) throw new Error('Invalid string. Length must be a multiple of 4');
									var r = e.indexOf('=');
									return -1 === r && (r = t), [r, r === t ? 0 : 4 - (r % 4)];
								}
								function f(e, t, r) {
									for (var i, o, s = [], a = t; a < r; a += 3)
										(i = ((e[a] << 16) & 16711680) + ((e[a + 1] << 8) & 65280) + (255 & e[a + 2])),
											s.push(n[((o = i) >> 18) & 63] + n[(o >> 12) & 63] + n[(o >> 6) & 63] + n[63 & o]);
									return s.join('');
								}
								(i['-'.charCodeAt(0)] = 62), (i['_'.charCodeAt(0)] = 63);
							},
							function (e, t, r) {
								(function (e) {
									var n = r(14),
										i = r(13),
										o = r(12);
									function s() {
										return u.TYPED_ARRAY_SUPPORT ? 2147483647 : 1073741823;
									}
									function a(e, t) {
										if (s() < t) throw new RangeError('Invalid typed array length');
										return u.TYPED_ARRAY_SUPPORT ? ((e = new Uint8Array(t)).__proto__ = u.prototype) : (null === e && (e = new u(t)), (e.length = t)), e;
									}
									function u(e, t, r) {
										if (!(u.TYPED_ARRAY_SUPPORT || this instanceof u)) return new u(e, t, r);
										if ('number' == typeof e) {
											if ('string' == typeof t) throw new Error('If encoding is specified then the first argument must be a string');
											return l(this, e);
										}
										return c(this, e, t, r);
									}
									function c(e, t, r, n) {
										if ('number' == typeof t) throw new TypeError('"value" argument must not be a number');
										return 'undefined' != typeof ArrayBuffer && t instanceof ArrayBuffer
											? (function (e, t, r, n) {
													if ((t.byteLength, r < 0 || t.byteLength < r)) throw new RangeError("'offset' is out of bounds");
													if (t.byteLength < r + (n || 0)) throw new RangeError("'length' is out of bounds");
													return (
														(t = void 0 === r && void 0 === n ? new Uint8Array(t) : void 0 === n ? new Uint8Array(t, r) : new Uint8Array(t, r, n)),
														u.TYPED_ARRAY_SUPPORT ? ((e = t).__proto__ = u.prototype) : (e = h(e, t)),
														e
													);
											  })(e, t, r, n)
											: 'string' == typeof t
											? (function (e, t, r) {
													if ((('string' == typeof r && '' !== r) || (r = 'utf8'), !u.isEncoding(r))) throw new TypeError('"encoding" must be a valid string encoding');
													var n = 0 | d(t, r),
														i = (e = a(e, n)).write(t, r);
													return i !== n && (e = e.slice(0, i)), e;
											  })(e, t, r)
											: (function (e, t) {
													if (u.isBuffer(t)) {
														var r = 0 | p(t.length);
														return 0 === (e = a(e, r)).length ? e : (t.copy(e, 0, 0, r), e);
													}
													if (t) {
														if (('undefined' != typeof ArrayBuffer && t.buffer instanceof ArrayBuffer) || 'length' in t)
															return 'number' != typeof t.length || (n = t.length) != n ? a(e, 0) : h(e, t);
														if ('Buffer' === t.type && o(t.data)) return h(e, t.data);
													}
													var n;
													throw new TypeError('First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.');
											  })(e, t);
									}
									function f(e) {
										if ('number' != typeof e) throw new TypeError('"size" argument must be a number');
										if (e < 0) throw new RangeError('"size" argument must not be negative');
									}
									function l(e, t) {
										if ((f(t), (e = a(e, t < 0 ? 0 : 0 | p(t))), !u.TYPED_ARRAY_SUPPORT)) for (var r = 0; r < t; ++r) e[r] = 0;
										return e;
									}
									function h(e, t) {
										var r = t.length < 0 ? 0 : 0 | p(t.length);
										e = a(e, r);
										for (var n = 0; n < r; n += 1) e[n] = 255 & t[n];
										return e;
									}
									function p(e) {
										if (e >= s()) throw new RangeError('Attempt to allocate Buffer larger than maximum size: 0x' + s().toString(16) + ' bytes');
										return 0 | e;
									}
									function d(e, t) {
										if (u.isBuffer(e)) return e.length;
										if ('undefined' != typeof ArrayBuffer && 'function' == typeof ArrayBuffer.isView && (ArrayBuffer.isView(e) || e instanceof ArrayBuffer)) return e.byteLength;
										'string' != typeof e && (e = '' + e);
										var r = e.length;
										if (0 === r) return 0;
										for (var n = !1; ; )
											switch (t) {
												case 'ascii':
												case 'latin1':
												case 'binary':
													return r;
												case 'utf8':
												case 'utf-8':
												case void 0:
													return q(e).length;
												case 'ucs2':
												case 'ucs-2':
												case 'utf16le':
												case 'utf-16le':
													return 2 * r;
												case 'hex':
													return r >>> 1;
												case 'base64':
													return Y(e).length;
												default:
													if (n) return q(e).length;
													(t = ('' + t).toLowerCase()), (n = !0);
											}
									}
									function v(e, t, r) {
										var n = e[t];
										(e[t] = e[r]), (e[r] = n);
									}
									function y(e, t, r, n, i) {
										if (0 === e.length) return -1;
										if (
											('string' == typeof r ? ((n = r), (r = 0)) : r > 2147483647 ? (r = 2147483647) : r < -2147483648 && (r = -2147483648),
											(r = +r),
											isNaN(r) && (r = i ? 0 : e.length - 1),
											r < 0 && (r = e.length + r),
											r >= e.length)
										) {
											if (i) return -1;
											r = e.length - 1;
										} else if (r < 0) {
											if (!i) return -1;
											r = 0;
										}
										if (('string' == typeof t && (t = u.from(t, n)), u.isBuffer(t))) return 0 === t.length ? -1 : b(e, t, r, n, i);
										if ('number' == typeof t)
											return (
												(t &= 255),
												u.TYPED_ARRAY_SUPPORT && 'function' == typeof Uint8Array.prototype.indexOf
													? i
														? Uint8Array.prototype.indexOf.call(e, t, r)
														: Uint8Array.prototype.lastIndexOf.call(e, t, r)
													: b(e, [t], r, n, i)
											);
										throw new TypeError('val must be string, number or Buffer');
									}
									function b(e, t, r, n, i) {
										var o,
											s = 1,
											a = e.length,
											u = t.length;
										if (void 0 !== n && ('ucs2' === (n = String(n).toLowerCase()) || 'ucs-2' === n || 'utf16le' === n || 'utf-16le' === n)) {
											if (e.length < 2 || t.length < 2) return -1;
											(s = 2), (a /= 2), (u /= 2), (r /= 2);
										}
										function c(e, t) {
											return 1 === s ? e[t] : e.readUInt16BE(t * s);
										}
										if (i) {
											var f = -1;
											for (o = r; o < a; o++)
												if (c(e, o) === c(t, -1 === f ? 0 : o - f)) {
													if ((-1 === f && (f = o), o - f + 1 === u)) return f * s;
												} else -1 !== f && (o -= o - f), (f = -1);
										} else
											for (r + u > a && (r = a - u), o = r; o >= 0; o--) {
												for (var l = !0, h = 0; h < u; h++)
													if (c(e, o + h) !== c(t, h)) {
														l = !1;
														break;
													}
												if (l) return o;
											}
										return -1;
									}
									function m(e, t, r, n) {
										r = Number(r) || 0;
										var i = e.length - r;
										n ? (n = Number(n)) > i && (n = i) : (n = i);
										var o = t.length;
										if (o % 2 != 0) throw new TypeError('Invalid hex string');
										n > o / 2 && (n = o / 2);
										for (var s = 0; s < n; ++s) {
											var a = parseInt(t.substr(2 * s, 2), 16);
											if (isNaN(a)) return s;
											e[r + s] = a;
										}
										return s;
									}
									function g(e, t, r, n) {
										return F(q(t, e.length - r), e, r, n);
									}
									function w(e, t, r, n) {
										return F(
											(function (e) {
												for (var t = [], r = 0; r < e.length; ++r) t.push(255 & e.charCodeAt(r));
												return t;
											})(t),
											e,
											r,
											n
										);
									}
									function _(e, t, r, n) {
										return w(e, t, r, n);
									}
									function k(e, t, r, n) {
										return F(Y(t), e, r, n);
									}
									function E(e, t, r, n) {
										return F(
											(function (e, t) {
												for (var r, n, i, o = [], s = 0; s < e.length && !((t -= 2) < 0); ++s) (n = (r = e.charCodeAt(s)) >> 8), (i = r % 256), o.push(i), o.push(n);
												return o;
											})(t, e.length - r),
											e,
											r,
											n
										);
									}
									function S(e, t, r) {
										return 0 === t && r === e.length ? n.fromByteArray(e) : n.fromByteArray(e.slice(t, r));
									}
									function A(e, t, r) {
										r = Math.min(e.length, r);
										for (var n = [], i = t; i < r; ) {
											var o,
												s,
												a,
												u,
												c = e[i],
												f = null,
												l = c > 239 ? 4 : c > 223 ? 3 : c > 191 ? 2 : 1;
											if (i + l <= r)
												switch (l) {
													case 1:
														c < 128 && (f = c);
														break;
													case 2:
														128 == (192 & (o = e[i + 1])) && (u = ((31 & c) << 6) | (63 & o)) > 127 && (f = u);
														break;
													case 3:
														(o = e[i + 1]),
															(s = e[i + 2]),
															128 == (192 & o) && 128 == (192 & s) && (u = ((15 & c) << 12) | ((63 & o) << 6) | (63 & s)) > 2047 && (u < 55296 || u > 57343) && (f = u);
														break;
													case 4:
														(o = e[i + 1]),
															(s = e[i + 2]),
															(a = e[i + 3]),
															128 == (192 & o) &&
																128 == (192 & s) &&
																128 == (192 & a) &&
																(u = ((15 & c) << 18) | ((63 & o) << 12) | ((63 & s) << 6) | (63 & a)) > 65535 &&
																u < 1114112 &&
																(f = u);
												}
											null === f ? ((f = 65533), (l = 1)) : f > 65535 && ((f -= 65536), n.push(((f >>> 10) & 1023) | 55296), (f = 56320 | (1023 & f))), n.push(f), (i += l);
										}
										return (function (e) {
											var t = e.length;
											if (t <= C) return String.fromCharCode.apply(String, e);
											for (var r = '', n = 0; n < t; ) r += String.fromCharCode.apply(String, e.slice(n, (n += C)));
											return r;
										})(n);
									}
									(t.Buffer = u),
										(t.SlowBuffer = function (e) {
											return +e != e && (e = 0), u.alloc(+e);
										}),
										(t.INSPECT_MAX_BYTES = 50),
										(u.TYPED_ARRAY_SUPPORT =
											void 0 !== e.TYPED_ARRAY_SUPPORT
												? e.TYPED_ARRAY_SUPPORT
												: (function () {
														try {
															var e = new Uint8Array(1);
															return (
																(e.__proto__ = {
																	__proto__: Uint8Array.prototype,
																	foo: function () {
																		return 42;
																	}
																}),
																42 === e.foo() && 'function' == typeof e.subarray && 0 === e.subarray(1, 1).byteLength
															);
														} catch (e) {
															return !1;
														}
												  })()),
										(t.kMaxLength = s()),
										(u.poolSize = 8192),
										(u._augment = function (e) {
											return (e.__proto__ = u.prototype), e;
										}),
										(u.from = function (e, t, r) {
											return c(null, e, t, r);
										}),
										u.TYPED_ARRAY_SUPPORT &&
											((u.prototype.__proto__ = Uint8Array.prototype),
											(u.__proto__ = Uint8Array),
											'undefined' != typeof Symbol && Symbol.species && u[Symbol.species] === u && Object.defineProperty(u, Symbol.species, { value: null, configurable: !0 })),
										(u.alloc = function (e, t, r) {
											return (function (e, t, r, n) {
												return f(t), t <= 0 ? a(e, t) : void 0 !== r ? ('string' == typeof n ? a(e, t).fill(r, n) : a(e, t).fill(r)) : a(e, t);
											})(null, e, t, r);
										}),
										(u.allocUnsafe = function (e) {
											return l(null, e);
										}),
										(u.allocUnsafeSlow = function (e) {
											return l(null, e);
										}),
										(u.isBuffer = function (e) {
											return !(null == e || !e._isBuffer);
										}),
										(u.compare = function (e, t) {
											if (!u.isBuffer(e) || !u.isBuffer(t)) throw new TypeError('Arguments must be Buffers');
											if (e === t) return 0;
											for (var r = e.length, n = t.length, i = 0, o = Math.min(r, n); i < o; ++i)
												if (e[i] !== t[i]) {
													(r = e[i]), (n = t[i]);
													break;
												}
											return r < n ? -1 : n < r ? 1 : 0;
										}),
										(u.isEncoding = function (e) {
											switch (String(e).toLowerCase()) {
												case 'hex':
												case 'utf8':
												case 'utf-8':
												case 'ascii':
												case 'latin1':
												case 'binary':
												case 'base64':
												case 'ucs2':
												case 'ucs-2':
												case 'utf16le':
												case 'utf-16le':
													return !0;
												default:
													return !1;
											}
										}),
										(u.concat = function (e, t) {
											if (!o(e)) throw new TypeError('"list" argument must be an Array of Buffers');
											if (0 === e.length) return u.alloc(0);
											var r;
											if (void 0 === t) for (t = 0, r = 0; r < e.length; ++r) t += e[r].length;
											var n = u.allocUnsafe(t),
												i = 0;
											for (r = 0; r < e.length; ++r) {
												var s = e[r];
												if (!u.isBuffer(s)) throw new TypeError('"list" argument must be an Array of Buffers');
												s.copy(n, i), (i += s.length);
											}
											return n;
										}),
										(u.byteLength = d),
										(u.prototype._isBuffer = !0),
										(u.prototype.swap16 = function () {
											var e = this.length;
											if (e % 2 != 0) throw new RangeError('Buffer size must be a multiple of 16-bits');
											for (var t = 0; t < e; t += 2) v(this, t, t + 1);
											return this;
										}),
										(u.prototype.swap32 = function () {
											var e = this.length;
											if (e % 4 != 0) throw new RangeError('Buffer size must be a multiple of 32-bits');
											for (var t = 0; t < e; t += 4) v(this, t, t + 3), v(this, t + 1, t + 2);
											return this;
										}),
										(u.prototype.swap64 = function () {
											var e = this.length;
											if (e % 8 != 0) throw new RangeError('Buffer size must be a multiple of 64-bits');
											for (var t = 0; t < e; t += 8) v(this, t, t + 7), v(this, t + 1, t + 6), v(this, t + 2, t + 5), v(this, t + 3, t + 4);
											return this;
										}),
										(u.prototype.toString = function () {
											var e = 0 | this.length;
											return 0 === e
												? ''
												: 0 === arguments.length
												? A(this, 0, e)
												: function (e, t, r) {
														var n = !1;
														if (((void 0 === t || t < 0) && (t = 0), t > this.length)) return '';
														if (((void 0 === r || r > this.length) && (r = this.length), r <= 0)) return '';
														if ((r >>>= 0) <= (t >>>= 0)) return '';
														for (e || (e = 'utf8'); ; )
															switch (e) {
																case 'hex':
																	return P(this, t, r);
																case 'utf8':
																case 'utf-8':
																	return A(this, t, r);
																case 'ascii':
																	return R(this, t, r);
																case 'latin1':
																case 'binary':
																	return O(this, t, r);
																case 'base64':
																	return S(this, t, r);
																case 'ucs2':
																case 'ucs-2':
																case 'utf16le':
																case 'utf-16le':
																	return j(this, t, r);
																default:
																	if (n) throw new TypeError('Unknown encoding: ' + e);
																	(e = (e + '').toLowerCase()), (n = !0);
															}
												  }.apply(this, arguments);
										}),
										(u.prototype.equals = function (e) {
											if (!u.isBuffer(e)) throw new TypeError('Argument must be a Buffer');
											return this === e || 0 === u.compare(this, e);
										}),
										(u.prototype.inspect = function () {
											var e = '',
												r = t.INSPECT_MAX_BYTES;
											return this.length > 0 && ((e = this.toString('hex', 0, r).match(/.{2}/g).join(' ')), this.length > r && (e += ' ... ')), '<Buffer ' + e + '>';
										}),
										(u.prototype.compare = function (e, t, r, n, i) {
											if (!u.isBuffer(e)) throw new TypeError('Argument must be a Buffer');
											if (
												(void 0 === t && (t = 0),
												void 0 === r && (r = e ? e.length : 0),
												void 0 === n && (n = 0),
												void 0 === i && (i = this.length),
												t < 0 || r > e.length || n < 0 || i > this.length)
											)
												throw new RangeError('out of range index');
											if (n >= i && t >= r) return 0;
											if (n >= i) return -1;
											if (t >= r) return 1;
											if (((t >>>= 0), (r >>>= 0), (n >>>= 0), (i >>>= 0), this === e)) return 0;
											for (var o = i - n, s = r - t, a = Math.min(o, s), c = this.slice(n, i), f = e.slice(t, r), l = 0; l < a; ++l)
												if (c[l] !== f[l]) {
													(o = c[l]), (s = f[l]);
													break;
												}
											return o < s ? -1 : s < o ? 1 : 0;
										}),
										(u.prototype.includes = function (e, t, r) {
											return -1 !== this.indexOf(e, t, r);
										}),
										(u.prototype.indexOf = function (e, t, r) {
											return y(this, e, t, r, !0);
										}),
										(u.prototype.lastIndexOf = function (e, t, r) {
											return y(this, e, t, r, !1);
										}),
										(u.prototype.write = function (e, t, r, n) {
											if (void 0 === t) (n = 'utf8'), (r = this.length), (t = 0);
											else if (void 0 === r && 'string' == typeof t) (n = t), (r = this.length), (t = 0);
											else {
												if (!isFinite(t)) throw new Error('Buffer.write(string, encoding, offset[, length]) is no longer supported');
												(t |= 0), isFinite(r) ? ((r |= 0), void 0 === n && (n = 'utf8')) : ((n = r), (r = void 0));
											}
											var i = this.length - t;
											if (((void 0 === r || r > i) && (r = i), (e.length > 0 && (r < 0 || t < 0)) || t > this.length))
												throw new RangeError('Attempt to write outside buffer bounds');
											n || (n = 'utf8');
											for (var o = !1; ; )
												switch (n) {
													case 'hex':
														return m(this, e, t, r);
													case 'utf8':
													case 'utf-8':
														return g(this, e, t, r);
													case 'ascii':
														return w(this, e, t, r);
													case 'latin1':
													case 'binary':
														return _(this, e, t, r);
													case 'base64':
														return k(this, e, t, r);
													case 'ucs2':
													case 'ucs-2':
													case 'utf16le':
													case 'utf-16le':
														return E(this, e, t, r);
													default:
														if (o) throw new TypeError('Unknown encoding: ' + n);
														(n = ('' + n).toLowerCase()), (o = !0);
												}
										}),
										(u.prototype.toJSON = function () {
											return { type: 'Buffer', data: Array.prototype.slice.call(this._arr || this, 0) };
										});
									var C = 4096;
									function R(e, t, r) {
										var n = '';
										r = Math.min(e.length, r);
										for (var i = t; i < r; ++i) n += String.fromCharCode(127 & e[i]);
										return n;
									}
									function O(e, t, r) {
										var n = '';
										r = Math.min(e.length, r);
										for (var i = t; i < r; ++i) n += String.fromCharCode(e[i]);
										return n;
									}
									function P(e, t, r) {
										var n = e.length;
										(!t || t < 0) && (t = 0), (!r || r < 0 || r > n) && (r = n);
										for (var i = '', o = t; o < r; ++o) i += U(e[o]);
										return i;
									}
									function j(e, t, r) {
										for (var n = e.slice(t, r), i = '', o = 0; o < n.length; o += 2) i += String.fromCharCode(n[o] + 256 * n[o + 1]);
										return i;
									}
									function T(e, t, r) {
										if (e % 1 != 0 || e < 0) throw new RangeError('offset is not uint');
										if (e + t > r) throw new RangeError('Trying to access beyond buffer length');
									}
									function x(e, t, r, n, i, o) {
										if (!u.isBuffer(e)) throw new TypeError('"buffer" argument must be a Buffer instance');
										if (t > i || t < o) throw new RangeError('"value" argument is out of bounds');
										if (r + n > e.length) throw new RangeError('Index out of range');
									}
									function I(e, t, r, n) {
										t < 0 && (t = 65535 + t + 1);
										for (var i = 0, o = Math.min(e.length - r, 2); i < o; ++i) e[r + i] = (t & (255 << (8 * (n ? i : 1 - i)))) >>> (8 * (n ? i : 1 - i));
									}
									function B(e, t, r, n) {
										t < 0 && (t = 4294967295 + t + 1);
										for (var i = 0, o = Math.min(e.length - r, 4); i < o; ++i) e[r + i] = (t >>> (8 * (n ? i : 3 - i))) & 255;
									}
									function M(e, t, r, n, i, o) {
										if (r + n > e.length) throw new RangeError('Index out of range');
										if (r < 0) throw new RangeError('Index out of range');
									}
									function N(e, t, r, n, o) {
										return o || M(e, 0, r, 4), i.write(e, t, r, n, 23, 4), r + 4;
									}
									function D(e, t, r, n, o) {
										return o || M(e, 0, r, 8), i.write(e, t, r, n, 52, 8), r + 8;
									}
									(u.prototype.slice = function (e, t) {
										var r,
											n = this.length;
										if (
											((e = ~~e),
											(t = void 0 === t ? n : ~~t),
											e < 0 ? (e += n) < 0 && (e = 0) : e > n && (e = n),
											t < 0 ? (t += n) < 0 && (t = 0) : t > n && (t = n),
											t < e && (t = e),
											u.TYPED_ARRAY_SUPPORT)
										)
											(r = this.subarray(e, t)).__proto__ = u.prototype;
										else {
											var i = t - e;
											r = new u(i, void 0);
											for (var o = 0; o < i; ++o) r[o] = this[o + e];
										}
										return r;
									}),
										(u.prototype.readUIntLE = function (e, t, r) {
											(e |= 0), (t |= 0), r || T(e, t, this.length);
											for (var n = this[e], i = 1, o = 0; ++o < t && (i *= 256); ) n += this[e + o] * i;
											return n;
										}),
										(u.prototype.readUIntBE = function (e, t, r) {
											(e |= 0), (t |= 0), r || T(e, t, this.length);
											for (var n = this[e + --t], i = 1; t > 0 && (i *= 256); ) n += this[e + --t] * i;
											return n;
										}),
										(u.prototype.readUInt8 = function (e, t) {
											return t || T(e, 1, this.length), this[e];
										}),
										(u.prototype.readUInt16LE = function (e, t) {
											return t || T(e, 2, this.length), this[e] | (this[e + 1] << 8);
										}),
										(u.prototype.readUInt16BE = function (e, t) {
											return t || T(e, 2, this.length), (this[e] << 8) | this[e + 1];
										}),
										(u.prototype.readUInt32LE = function (e, t) {
											return t || T(e, 4, this.length), (this[e] | (this[e + 1] << 8) | (this[e + 2] << 16)) + 16777216 * this[e + 3];
										}),
										(u.prototype.readUInt32BE = function (e, t) {
											return t || T(e, 4, this.length), 16777216 * this[e] + ((this[e + 1] << 16) | (this[e + 2] << 8) | this[e + 3]);
										}),
										(u.prototype.readIntLE = function (e, t, r) {
											(e |= 0), (t |= 0), r || T(e, t, this.length);
											for (var n = this[e], i = 1, o = 0; ++o < t && (i *= 256); ) n += this[e + o] * i;
											return n >= (i *= 128) && (n -= Math.pow(2, 8 * t)), n;
										}),
										(u.prototype.readIntBE = function (e, t, r) {
											(e |= 0), (t |= 0), r || T(e, t, this.length);
											for (var n = t, i = 1, o = this[e + --n]; n > 0 && (i *= 256); ) o += this[e + --n] * i;
											return o >= (i *= 128) && (o -= Math.pow(2, 8 * t)), o;
										}),
										(u.prototype.readInt8 = function (e, t) {
											return t || T(e, 1, this.length), 128 & this[e] ? -1 * (255 - this[e] + 1) : this[e];
										}),
										(u.prototype.readInt16LE = function (e, t) {
											t || T(e, 2, this.length);
											var r = this[e] | (this[e + 1] << 8);
											return 32768 & r ? 4294901760 | r : r;
										}),
										(u.prototype.readInt16BE = function (e, t) {
											t || T(e, 2, this.length);
											var r = this[e + 1] | (this[e] << 8);
											return 32768 & r ? 4294901760 | r : r;
										}),
										(u.prototype.readInt32LE = function (e, t) {
											return t || T(e, 4, this.length), this[e] | (this[e + 1] << 8) | (this[e + 2] << 16) | (this[e + 3] << 24);
										}),
										(u.prototype.readInt32BE = function (e, t) {
											return t || T(e, 4, this.length), (this[e] << 24) | (this[e + 1] << 16) | (this[e + 2] << 8) | this[e + 3];
										}),
										(u.prototype.readFloatLE = function (e, t) {
											return t || T(e, 4, this.length), i.read(this, e, !0, 23, 4);
										}),
										(u.prototype.readFloatBE = function (e, t) {
											return t || T(e, 4, this.length), i.read(this, e, !1, 23, 4);
										}),
										(u.prototype.readDoubleLE = function (e, t) {
											return t || T(e, 8, this.length), i.read(this, e, !0, 52, 8);
										}),
										(u.prototype.readDoubleBE = function (e, t) {
											return t || T(e, 8, this.length), i.read(this, e, !1, 52, 8);
										}),
										(u.prototype.writeUIntLE = function (e, t, r, n) {
											(e = +e), (t |= 0), (r |= 0), n || x(this, e, t, r, Math.pow(2, 8 * r) - 1, 0);
											var i = 1,
												o = 0;
											for (this[t] = 255 & e; ++o < r && (i *= 256); ) this[t + o] = (e / i) & 255;
											return t + r;
										}),
										(u.prototype.writeUIntBE = function (e, t, r, n) {
											(e = +e), (t |= 0), (r |= 0), n || x(this, e, t, r, Math.pow(2, 8 * r) - 1, 0);
											var i = r - 1,
												o = 1;
											for (this[t + i] = 255 & e; --i >= 0 && (o *= 256); ) this[t + i] = (e / o) & 255;
											return t + r;
										}),
										(u.prototype.writeUInt8 = function (e, t, r) {
											return (e = +e), (t |= 0), r || x(this, e, t, 1, 255, 0), u.TYPED_ARRAY_SUPPORT || (e = Math.floor(e)), (this[t] = 255 & e), t + 1;
										}),
										(u.prototype.writeUInt16LE = function (e, t, r) {
											return (
												(e = +e), (t |= 0), r || x(this, e, t, 2, 65535, 0), u.TYPED_ARRAY_SUPPORT ? ((this[t] = 255 & e), (this[t + 1] = e >>> 8)) : I(this, e, t, !0), t + 2
											);
										}),
										(u.prototype.writeUInt16BE = function (e, t, r) {
											return (
												(e = +e), (t |= 0), r || x(this, e, t, 2, 65535, 0), u.TYPED_ARRAY_SUPPORT ? ((this[t] = e >>> 8), (this[t + 1] = 255 & e)) : I(this, e, t, !1), t + 2
											);
										}),
										(u.prototype.writeUInt32LE = function (e, t, r) {
											return (
												(e = +e),
												(t |= 0),
												r || x(this, e, t, 4, 4294967295, 0),
												u.TYPED_ARRAY_SUPPORT ? ((this[t + 3] = e >>> 24), (this[t + 2] = e >>> 16), (this[t + 1] = e >>> 8), (this[t] = 255 & e)) : B(this, e, t, !0),
												t + 4
											);
										}),
										(u.prototype.writeUInt32BE = function (e, t, r) {
											return (
												(e = +e),
												(t |= 0),
												r || x(this, e, t, 4, 4294967295, 0),
												u.TYPED_ARRAY_SUPPORT ? ((this[t] = e >>> 24), (this[t + 1] = e >>> 16), (this[t + 2] = e >>> 8), (this[t + 3] = 255 & e)) : B(this, e, t, !1),
												t + 4
											);
										}),
										(u.prototype.writeIntLE = function (e, t, r, n) {
											if (((e = +e), (t |= 0), !n)) {
												var i = Math.pow(2, 8 * r - 1);
												x(this, e, t, r, i - 1, -i);
											}
											var o = 0,
												s = 1,
												a = 0;
											for (this[t] = 255 & e; ++o < r && (s *= 256); ) e < 0 && 0 === a && 0 !== this[t + o - 1] && (a = 1), (this[t + o] = (((e / s) >> 0) - a) & 255);
											return t + r;
										}),
										(u.prototype.writeIntBE = function (e, t, r, n) {
											if (((e = +e), (t |= 0), !n)) {
												var i = Math.pow(2, 8 * r - 1);
												x(this, e, t, r, i - 1, -i);
											}
											var o = r - 1,
												s = 1,
												a = 0;
											for (this[t + o] = 255 & e; --o >= 0 && (s *= 256); ) e < 0 && 0 === a && 0 !== this[t + o + 1] && (a = 1), (this[t + o] = (((e / s) >> 0) - a) & 255);
											return t + r;
										}),
										(u.prototype.writeInt8 = function (e, t, r) {
											return (
												(e = +e),
												(t |= 0),
												r || x(this, e, t, 1, 127, -128),
												u.TYPED_ARRAY_SUPPORT || (e = Math.floor(e)),
												e < 0 && (e = 255 + e + 1),
												(this[t] = 255 & e),
												t + 1
											);
										}),
										(u.prototype.writeInt16LE = function (e, t, r) {
											return (
												(e = +e),
												(t |= 0),
												r || x(this, e, t, 2, 32767, -32768),
												u.TYPED_ARRAY_SUPPORT ? ((this[t] = 255 & e), (this[t + 1] = e >>> 8)) : I(this, e, t, !0),
												t + 2
											);
										}),
										(u.prototype.writeInt16BE = function (e, t, r) {
											return (
												(e = +e),
												(t |= 0),
												r || x(this, e, t, 2, 32767, -32768),
												u.TYPED_ARRAY_SUPPORT ? ((this[t] = e >>> 8), (this[t + 1] = 255 & e)) : I(this, e, t, !1),
												t + 2
											);
										}),
										(u.prototype.writeInt32LE = function (e, t, r) {
											return (
												(e = +e),
												(t |= 0),
												r || x(this, e, t, 4, 2147483647, -2147483648),
												u.TYPED_ARRAY_SUPPORT ? ((this[t] = 255 & e), (this[t + 1] = e >>> 8), (this[t + 2] = e >>> 16), (this[t + 3] = e >>> 24)) : B(this, e, t, !0),
												t + 4
											);
										}),
										(u.prototype.writeInt32BE = function (e, t, r) {
											return (
												(e = +e),
												(t |= 0),
												r || x(this, e, t, 4, 2147483647, -2147483648),
												e < 0 && (e = 4294967295 + e + 1),
												u.TYPED_ARRAY_SUPPORT ? ((this[t] = e >>> 24), (this[t + 1] = e >>> 16), (this[t + 2] = e >>> 8), (this[t + 3] = 255 & e)) : B(this, e, t, !1),
												t + 4
											);
										}),
										(u.prototype.writeFloatLE = function (e, t, r) {
											return N(this, e, t, !0, r);
										}),
										(u.prototype.writeFloatBE = function (e, t, r) {
											return N(this, e, t, !1, r);
										}),
										(u.prototype.writeDoubleLE = function (e, t, r) {
											return D(this, e, t, !0, r);
										}),
										(u.prototype.writeDoubleBE = function (e, t, r) {
											return D(this, e, t, !1, r);
										}),
										(u.prototype.copy = function (e, t, r, n) {
											if ((r || (r = 0), n || 0 === n || (n = this.length), t >= e.length && (t = e.length), t || (t = 0), n > 0 && n < r && (n = r), n === r)) return 0;
											if (0 === e.length || 0 === this.length) return 0;
											if (t < 0) throw new RangeError('targetStart out of bounds');
											if (r < 0 || r >= this.length) throw new RangeError('sourceStart out of bounds');
											if (n < 0) throw new RangeError('sourceEnd out of bounds');
											n > this.length && (n = this.length), e.length - t < n - r && (n = e.length - t + r);
											var i,
												o = n - r;
											if (this === e && r < t && t < n) for (i = o - 1; i >= 0; --i) e[i + t] = this[i + r];
											else if (o < 1e3 || !u.TYPED_ARRAY_SUPPORT) for (i = 0; i < o; ++i) e[i + t] = this[i + r];
											else Uint8Array.prototype.set.call(e, this.subarray(r, r + o), t);
											return o;
										}),
										(u.prototype.fill = function (e, t, r, n) {
											if ('string' == typeof e) {
												if (('string' == typeof t ? ((n = t), (t = 0), (r = this.length)) : 'string' == typeof r && ((n = r), (r = this.length)), 1 === e.length)) {
													var i = e.charCodeAt(0);
													i < 256 && (e = i);
												}
												if (void 0 !== n && 'string' != typeof n) throw new TypeError('encoding must be a string');
												if ('string' == typeof n && !u.isEncoding(n)) throw new TypeError('Unknown encoding: ' + n);
											} else 'number' == typeof e && (e &= 255);
											if (t < 0 || this.length < t || this.length < r) throw new RangeError('Out of range index');
											if (r <= t) return this;
											var o;
											if (((t >>>= 0), (r = void 0 === r ? this.length : r >>> 0), e || (e = 0), 'number' == typeof e)) for (o = t; o < r; ++o) this[o] = e;
											else {
												var s = u.isBuffer(e) ? e : q(new u(e, n).toString()),
													a = s.length;
												for (o = 0; o < r - t; ++o) this[o + t] = s[o % a];
											}
											return this;
										});
									var L = /[^+\/0-9A-Za-z-_]/g;
									function U(e) {
										return e < 16 ? '0' + e.toString(16) : e.toString(16);
									}
									function q(e, t) {
										var r;
										t = t || 1 / 0;
										for (var n = e.length, i = null, o = [], s = 0; s < n; ++s) {
											if ((r = e.charCodeAt(s)) > 55295 && r < 57344) {
												if (!i) {
													if (r > 56319) {
														(t -= 3) > -1 && o.push(239, 191, 189);
														continue;
													}
													if (s + 1 === n) {
														(t -= 3) > -1 && o.push(239, 191, 189);
														continue;
													}
													i = r;
													continue;
												}
												if (r < 56320) {
													(t -= 3) > -1 && o.push(239, 191, 189), (i = r);
													continue;
												}
												r = 65536 + (((i - 55296) << 10) | (r - 56320));
											} else i && (t -= 3) > -1 && o.push(239, 191, 189);
											if (((i = null), r < 128)) {
												if ((t -= 1) < 0) break;
												o.push(r);
											} else if (r < 2048) {
												if ((t -= 2) < 0) break;
												o.push((r >> 6) | 192, (63 & r) | 128);
											} else if (r < 65536) {
												if ((t -= 3) < 0) break;
												o.push((r >> 12) | 224, ((r >> 6) & 63) | 128, (63 & r) | 128);
											} else {
												if (!(r < 1114112)) throw new Error('Invalid code point');
												if ((t -= 4) < 0) break;
												o.push((r >> 18) | 240, ((r >> 12) & 63) | 128, ((r >> 6) & 63) | 128, (63 & r) | 128);
											}
										}
										return o;
									}
									function Y(e) {
										return n.toByteArray(
											(function (e) {
												if (
													(e = (function (e) {
														return e.trim ? e.trim() : e.replace(/^\s+|\s+$/g, '');
													})(e).replace(L, '')).length < 2
												)
													return '';
												for (; e.length % 4 != 0; ) e += '=';
												return e;
											})(e)
										);
									}
									function F(e, t, r, n) {
										for (var i = 0; i < n && !(i + r >= t.length || i >= e.length); ++i) t[i + r] = e[i];
										return i;
									}
								}).call(this, r(1));
							},
							function (e, t, r) {
								(function (t) {
									var n = r(2),
										i = Object.prototype.toString,
										o = 'function' == typeof Blob || ('undefined' != typeof Blob && '[object BlobConstructor]' === i.call(Blob)),
										s = 'function' == typeof File || ('undefined' != typeof File && '[object FileConstructor]' === i.call(File));
									e.exports = function e(r) {
										if (!r || 'object' != (0, f.default)(r)) return !1;
										if (n(r)) {
											for (var i = 0, a = r.length; i < a; i++) if (e(r[i])) return !0;
											return !1;
										}
										if (
											('function' == typeof t && t.isBuffer && t.isBuffer(r)) ||
											('function' == typeof ArrayBuffer && r instanceof ArrayBuffer) ||
											(o && r instanceof Blob) ||
											(s && r instanceof File)
										)
											return !0;
										if (r.toJSON && 'function' == typeof r.toJSON && 1 === arguments.length) return e(r.toJSON(), !0);
										for (var u in r) if (Object.prototype.hasOwnProperty.call(r, u) && e(r[u])) return !0;
										return !1;
									};
								}).call(this, r(15).Buffer);
							},
							function (e, t) {
								(t.encode = function (e) {
									var t = '';
									for (var r in e) e.hasOwnProperty(r) && (t.length && (t += '&'), (t += encodeURIComponent(r) + '=' + encodeURIComponent(e[r])));
									return t;
								}),
									(t.decode = function (e) {
										for (var t = {}, r = e.split('&'), n = 0, i = r.length; n < i; n++) {
											var o = r[n].split('=');
											t[decodeURIComponent(o[0])] = decodeURIComponent(o[1]);
										}
										return t;
									});
							},
							function (e, t) {
								e.exports = function (e, t) {
									for (var r = [], n = (t = t || 0) || 0; n < e.length; n++) r[n - t] = e[n];
									return r;
								};
							},
							function (e, t, r) {
								window,
									(e.exports = (function (e) {
										var t = {};
										function r(n) {
											if (t[n]) return t[n].exports;
											var i = (t[n] = { i: n, l: !1, exports: {} });
											return e[n].call(i.exports, i, i.exports, r), (i.l = !0), i.exports;
										}
										return (
											(r.m = e),
											(r.c = t),
											(r.d = function (e, t, n) {
												r.o(e, t) || Object.defineProperty(e, t, { enumerable: !0, get: n });
											}),
											(r.r = function (e) {
												'undefined' != typeof Symbol && Symbol.toStringTag && Object.defineProperty(e, Symbol.toStringTag, { value: 'Module' }),
													Object.defineProperty(e, '__esModule', { value: !0 });
											}),
											(r.t = function (e, t) {
												if ((1 & t && (e = r(e)), 8 & t)) return e;
												if (4 & t && 'object' == (0, f.default)(e) && e && e.__esModule) return e;
												var n = Object.create(null);
												if ((r.r(n), Object.defineProperty(n, 'default', { enumerable: !0, value: e }), 2 & t && 'string' != typeof e))
													for (var i in e)
														r.d(
															n,
															i,
															function (t) {
																return e[t];
															}.bind(null, i)
														);
												return n;
											}),
											(r.n = function (e) {
												var t =
													e && e.__esModule
														? function () {
																return e.default;
														  }
														: function () {
																return e;
														  };
												return r.d(t, 'a', t), t;
											}),
											(r.o = function (e, t) {
												return Object.prototype.hasOwnProperty.call(e, t);
											}),
											(r.p = ''),
											r((r.s = 29))
										);
									})([
										function (e, t) {
											var r;
											r = (function () {
												return this;
											})();
											try {
												r = r || Function('return this')() || (0, eval)('this');
											} catch (e) {
												'object' == ('undefined' == typeof window ? 'undefined' : (0, f.default)(window)) && (r = window);
											}
											e.exports = r;
										},
										function (e, t, r) {
											(function (e) {
												var n,
													i = r(26),
													o = r(25),
													s = r(19),
													a = r(18),
													u = r(17);
												e && e.ArrayBuffer && (n = r(15));
												var c = 'undefined' != typeof navigator && /Android/i.test(navigator.userAgent),
													f = 'undefined' != typeof navigator && /PhantomJS/i.test(navigator.userAgent),
													l = c || f;
												t.protocol = 3;
												var h = (t.packets = { open: 0, close: 1, ping: 2, pong: 3, message: 4, upgrade: 5, noop: 6 }),
													p = i(h),
													d = { type: 'error', data: 'parser error' },
													v = r(14);
												function y(e, t, r) {
													for (
														var n = new Array(e.length),
															i = a(e.length, r),
															o = function (e, r, i) {
																t(r, function (t, r) {
																	(n[e] = r), i(t, n);
																});
															},
															s = 0;
														s < e.length;
														s++
													)
														o(s, e[s], i);
												}
												(t.encodePacket = function (r, n, i, o) {
													'function' == typeof n && ((o = n), (n = !1)), 'function' == typeof i && ((o = i), (i = null));
													var s = void 0 === r.data ? void 0 : r.data.buffer || r.data;
													if (e.ArrayBuffer && s instanceof ArrayBuffer)
														return (function (e, r, n) {
															if (!r) return t.encodeBase64Packet(e, n);
															var i = e.data,
																o = new Uint8Array(i),
																s = new Uint8Array(1 + i.byteLength);
															s[0] = h[e.type];
															for (var a = 0; a < o.length; a++) s[a + 1] = o[a];
															return n(s.buffer);
														})(r, n, o);
													if (v && s instanceof e.Blob)
														return (function (e, r, n) {
															if (!r) return t.encodeBase64Packet(e, n);
															if (l)
																return (function (e, r, n) {
																	if (!r) return t.encodeBase64Packet(e, n);
																	var i = new FileReader();
																	return (
																		(i.onload = function () {
																			(e.data = i.result), t.encodePacket(e, r, !0, n);
																		}),
																		i.readAsArrayBuffer(e.data)
																	);
																})(e, r, n);
															var i = new Uint8Array(1);
															return (i[0] = h[e.type]), n(new v([i.buffer, e.data]));
														})(r, n, o);
													if (s && s.base64)
														return (function (e, r) {
															return o('b' + t.packets[e.type] + e.data.data);
														})(r);
													var a = h[r.type];
													return void 0 !== r.data && (a += i ? u.encode(String(r.data), { strict: !1 }) : String(r.data)), o('' + a);
												}),
													(t.encodeBase64Packet = function (r, n) {
														var i,
															o = 'b' + t.packets[r.type];
														if (v && r.data instanceof e.Blob) {
															var s = new FileReader();
															return (
																(s.onload = function () {
																	var e = s.result.split(',')[1];
																	n(o + e);
																}),
																s.readAsDataURL(r.data)
															);
														}
														try {
															i = String.fromCharCode.apply(null, new Uint8Array(r.data));
														} catch (e) {
															for (var a = new Uint8Array(r.data), u = new Array(a.length), c = 0; c < a.length; c++) u[c] = a[c];
															i = String.fromCharCode.apply(null, u);
														}
														return (o += e.btoa(i)), n(o);
													}),
													(t.decodePacket = function (e, r, n) {
														if (void 0 === e) return d;
														if ('string' == typeof e) {
															if ('b' === e.charAt(0)) return t.decodeBase64Packet(e.substr(1), r);
															if (
																n &&
																!1 ===
																	(e = (function (e) {
																		try {
																			e = u.decode(e, { strict: !1 });
																		} catch (e) {
																			return !1;
																		}
																		return e;
																	})(e))
															)
																return d;
															var i = e.charAt(0);
															return Number(i) == i && p[i] ? (e.length > 1 ? { type: p[i], data: e.substring(1) } : { type: p[i] }) : d;
														}
														i = new Uint8Array(e)[0];
														var o = s(e, 1);
														return v && 'blob' === r && (o = new v([o])), { type: p[i], data: o };
													}),
													(t.decodeBase64Packet = function (e, t) {
														var r = p[e.charAt(0)];
														if (!n) return { type: r, data: { base64: !0, data: e.substr(1) } };
														var i = n.decode(e.substr(1));
														return 'blob' === t && v && (i = new v([i])), { type: r, data: i };
													}),
													(t.encodePayload = function (e, r, n) {
														'function' == typeof r && ((n = r), (r = null));
														var i = o(e);
														return r && i
															? v && !l
																? t.encodePayloadAsBlob(e, n)
																: t.encodePayloadAsArrayBuffer(e, n)
															: e.length
															? void y(
																	e,
																	function (e, n) {
																		t.encodePacket(e, !!i && r, !1, function (e) {
																			n(
																				null,
																				(function (e) {
																					return e.length + ':' + e;
																				})(e)
																			);
																		});
																	},
																	function (e, t) {
																		return n(t.join(''));
																	}
															  )
															: n('0:');
													}),
													(t.decodePayload = function (e, r, n) {
														if ('string' != typeof e) return t.decodePayloadAsBinary(e, r, n);
														var i;
														if (('function' == typeof r && ((n = r), (r = null)), '' === e)) return n(d, 0, 1);
														for (var o, s, a = '', u = 0, c = e.length; u < c; u++) {
															var f = e.charAt(u);
															if (':' === f) {
																if ('' === a || a != (o = Number(a))) return n(d, 0, 1);
																if (a != (s = e.substr(u + 1, o)).length) return n(d, 0, 1);
																if (s.length) {
																	if (((i = t.decodePacket(s, r, !1)), d.type === i.type && d.data === i.data)) return n(d, 0, 1);
																	if (!1 === n(i, u + o, c)) return;
																}
																(u += o), (a = '');
															} else a += f;
														}
														return '' !== a ? n(d, 0, 1) : void 0;
													}),
													(t.encodePayloadAsArrayBuffer = function (e, r) {
														if (!e.length) return r(new ArrayBuffer(0));
														y(
															e,
															function (e, r) {
																t.encodePacket(e, !0, !0, function (e) {
																	return r(null, e);
																});
															},
															function (e, t) {
																var n = t.reduce(function (e, t) {
																		var r;
																		return e + (r = 'string' == typeof t ? t.length : t.byteLength).toString().length + r + 2;
																	}, 0),
																	i = new Uint8Array(n),
																	o = 0;
																return (
																	t.forEach(function (e) {
																		var t = 'string' == typeof e,
																			r = e;
																		if (t) {
																			for (var n = new Uint8Array(e.length), s = 0; s < e.length; s++) n[s] = e.charCodeAt(s);
																			r = n.buffer;
																		}
																		i[o++] = t ? 0 : 1;
																		var a = r.byteLength.toString();
																		for (s = 0; s < a.length; s++) i[o++] = parseInt(a[s]);
																		for (i[o++] = 255, n = new Uint8Array(r), s = 0; s < n.length; s++) i[o++] = n[s];
																	}),
																	r(i.buffer)
																);
															}
														);
													}),
													(t.encodePayloadAsBlob = function (e, r) {
														y(
															e,
															function (e, r) {
																t.encodePacket(e, !0, !0, function (e) {
																	var t = new Uint8Array(1);
																	if (((t[0] = 1), 'string' == typeof e)) {
																		for (var n = new Uint8Array(e.length), i = 0; i < e.length; i++) n[i] = e.charCodeAt(i);
																		(e = n.buffer), (t[0] = 0);
																	}
																	var o = (e instanceof ArrayBuffer ? e.byteLength : e.size).toString(),
																		s = new Uint8Array(o.length + 1);
																	for (i = 0; i < o.length; i++) s[i] = parseInt(o[i]);
																	if (((s[o.length] = 255), v)) {
																		var a = new v([t.buffer, s.buffer, e]);
																		r(null, a);
																	}
																});
															},
															function (e, t) {
																return r(new v(t));
															}
														);
													}),
													(t.decodePayloadAsBinary = function (e, r, n) {
														'function' == typeof r && ((n = r), (r = null));
														for (var i = e, o = []; i.byteLength > 0; ) {
															for (var a = new Uint8Array(i), u = 0 === a[0], c = '', f = 1; 255 !== a[f]; f++) {
																if (c.length > 310) return n(d, 0, 1);
																c += a[f];
															}
															(i = s(i, 2 + c.length)), (c = parseInt(c));
															var l = s(i, 0, c);
															if (u)
																try {
																	l = String.fromCharCode.apply(null, new Uint8Array(l));
																} catch (e) {
																	var h = new Uint8Array(l);
																	for (l = '', f = 0; f < h.length; f++) l += String.fromCharCode(h[f]);
																}
															o.push(l), (i = s(i, c));
														}
														var p = o.length;
														o.forEach(function (e, i) {
															n(t.decodePacket(e, r, !0), i, p);
														});
													});
											}).call(this, r(0));
										},
										function (e, t) {
											e.exports = function () {
												return function () {};
											};
										},
										function (e, t) {
											(t.encode = function (e) {
												var t = '';
												for (var r in e) e.hasOwnProperty(r) && (t.length && (t += '&'), (t += encodeURIComponent(r) + '=' + encodeURIComponent(e[r])));
												return t;
											}),
												(t.decode = function (e) {
													for (var t = {}, r = e.split('&'), n = 0, i = r.length; n < i; n++) {
														var o = r[n].split('=');
														t[decodeURIComponent(o[0])] = decodeURIComponent(o[1]);
													}
													return t;
												});
										},
										function (e, t, r) {
											function n(e) {
												if (e)
													return (function (e) {
														for (var t in n.prototype) e[t] = n.prototype[t];
														return e;
													})(e);
											}
											(e.exports = n),
												(n.prototype.on = n.prototype.addEventListener =
													function (e, t) {
														return (this._callbacks = this._callbacks || {}), (this._callbacks['$' + e] = this._callbacks['$' + e] || []).push(t), this;
													}),
												(n.prototype.once = function (e, t) {
													function r() {
														this.off(e, r), t.apply(this, arguments);
													}
													return (r.fn = t), this.on(e, r), this;
												}),
												(n.prototype.off =
													n.prototype.removeListener =
													n.prototype.removeAllListeners =
													n.prototype.removeEventListener =
														function (e, t) {
															if (((this._callbacks = this._callbacks || {}), 0 == arguments.length)) return (this._callbacks = {}), this;
															var r,
																n = this._callbacks['$' + e];
															if (!n) return this;
															if (1 == arguments.length) return delete this._callbacks['$' + e], this;
															for (var i = 0; i < n.length; i++)
																if ((r = n[i]) === t || r.fn === t) {
																	n.splice(i, 1);
																	break;
																}
															return this;
														}),
												(n.prototype.emit = function (e) {
													this._callbacks = this._callbacks || {};
													var t = [].slice.call(arguments, 1),
														r = this._callbacks['$' + e];
													if (r) for (var n = 0, i = (r = r.slice(0)).length; n < i; ++n) r[n].apply(this, t);
													return this;
												}),
												(n.prototype.listeners = function (e) {
													return (this._callbacks = this._callbacks || {}), this._callbacks['$' + e] || [];
												}),
												(n.prototype.hasListeners = function (e) {
													return !!this.listeners(e).length;
												});
										},
										function (e, t, r) {
											var n = r(1),
												i = r(4);
											function o(e) {
												(this.path = e.path),
													(this.hostname = e.hostname),
													(this.port = e.port),
													(this.secure = e.secure),
													(this.query = e.query),
													(this.timestampParam = e.timestampParam),
													(this.timestampRequests = e.timestampRequests),
													(this.readyState = ''),
													(this.agent = e.agent || !1),
													(this.socket = e.socket),
													(this.enablesXDR = e.enablesXDR),
													(this.pfx = e.pfx),
													(this.key = e.key),
													(this.passphrase = e.passphrase),
													(this.cert = e.cert),
													(this.ca = e.ca),
													(this.ciphers = e.ciphers),
													(this.rejectUnauthorized = e.rejectUnauthorized),
													(this.forceNode = e.forceNode),
													(this.extraHeaders = e.extraHeaders),
													(this.localAddress = e.localAddress);
											}
											(e.exports = o),
												i(o.prototype),
												(o.prototype.onError = function (e, t) {
													var r = new Error(e);
													return (r.type = 'TransportError'), (r.description = t), this.emit('error', r), this;
												}),
												(o.prototype.open = function () {
													return ('closed' !== this.readyState && '' !== this.readyState) || ((this.readyState = 'opening'), this.doOpen()), this;
												}),
												(o.prototype.close = function () {
													return ('opening' !== this.readyState && 'open' !== this.readyState) || (this.doClose(), this.onClose()), this;
												}),
												(o.prototype.send = function (e) {
													if ('open' !== this.readyState) throw new Error('Transport not open');
													this.write(e);
												}),
												(o.prototype.onOpen = function () {
													(this.readyState = 'open'), (this.writable = !0), this.emit('open');
												}),
												(o.prototype.onData = function (e) {
													var t = n.decodePacket(e, this.socket.binaryType);
													this.onPacket(t);
												}),
												(o.prototype.onPacket = function (e) {
													this.emit('packet', e);
												}),
												(o.prototype.onClose = function () {
													(this.readyState = 'closed'), this.emit('close');
												});
										},
										function (e, t, r) {
											var n = r(27);
											t.websocket = n;
										},
										function (e, t) {
											var r =
													/^(?:(?![^:@]+:[^:@\/]*@)(http|https|ws|wss):\/\/)?((?:(([^:@]*)(?::([^:@]*))?)?@)?((?:[a-f0-9]{0,4}:){2,7}[a-f0-9]{0,4}|[^:\/?#]*)(?::(\d*))?)(((\/(?:[^?#](?![^?#\/]*\.[^?#\/.]+(?:[?#]|$)))*\/?)?([^?#\/]*))(?:\?([^#]*))?(?:#(.*))?)/,
												n = ['source', 'protocol', 'authority', 'userInfo', 'user', 'password', 'host', 'port', 'relative', 'path', 'directory', 'file', 'query', 'anchor'];
											e.exports = function (e) {
												var t = e,
													i = e.indexOf('['),
													o = e.indexOf(']');
												-1 != i && -1 != o && (e = e.substring(0, i) + e.substring(i, o).replace(/:/g, ';') + e.substring(o, e.length));
												for (var s = r.exec(e || ''), a = {}, u = 14; u--; ) a[n[u]] = s[u] || '';
												return (
													-1 != i &&
														-1 != o &&
														((a.source = t),
														(a.host = a.host.substring(1, a.host.length - 1).replace(/;/g, ':')),
														(a.authority = a.authority.replace('[', '').replace(']', '').replace(/;/g, ':')),
														(a.ipv6uri = !0)),
													a
												);
											};
										},
										function (e, t) {
											var r = [].indexOf;
											e.exports = function (e, t) {
												if (r) return e.indexOf(t);
												for (var n = 0; n < e.length; ++n) if (e[n] === t) return n;
												return -1;
											};
										},
										function (e, t, r) {
											var n = (0, u.default)(function e(t, r) {
													(0, c.default)(this, e), (this.target = r), (this.type = t);
												}),
												i = (function (e) {
													(0, o.default)(r, e);
													var t = l(r);
													function r(e, n) {
														var i;
														return (0, c.default)(this, r), ((i = t.call(this, 'message', n)).data = e), i;
													}
													return (0, u.default)(r);
												})(n),
												s = (function (e) {
													(0, o.default)(r, e);
													var t = l(r);
													function r(e, n, i) {
														var o;
														return (
															(0, c.default)(this, r),
															((o = t.call(this, 'close', i)).wasClean = i._closeFrameReceived && i._closeFrameSent),
															(o.reason = n),
															(o.code = e),
															o
														);
													}
													return (0, u.default)(r);
												})(n),
												a = (function (e) {
													(0, o.default)(r, e);
													var t = l(r);
													function r(e) {
														return (0, c.default)(this, r), t.call(this, 'open', e);
													}
													return (0, u.default)(r);
												})(n),
												f = (function (e) {
													(0, o.default)(r, e);
													var t = l(r);
													function r(e, n) {
														var i;
														return (0, c.default)(this, r), ((i = t.call(this, 'error', n)).message = e.message), (i.error = e), i;
													}
													return (0, u.default)(r);
												})(n),
												h = {
													addEventListener: function (e, t) {
														function r(e) {
															t.call(this, new i(e, this));
														}
														function n(e, r) {
															t.call(this, new s(e, r, this));
														}
														function o(e) {
															t.call(this, new f(e, this));
														}
														function u() {
															t.call(this, new a(this));
														}
														'function' == typeof t &&
															('message' === e
																? ((r._listener = t), this.on(e, r))
																: 'close' === e
																? ((n._listener = t), this.on(e, n))
																: 'error' === e
																? ((o._listener = t), this.on(e, o))
																: 'open' === e
																? ((u._listener = t), this.on(e, u))
																: this.on(e, t));
													},
													removeEventListener: function (e, t) {
														for (var r = this.listeners(e), n = 0; n < r.length; n++) (r[n] !== t && r[n]._listener !== t) || this.removeListener(e, r[n]);
													}
												};
											e.exports = h;
										},
										function (e, t) {
											function r() {
												(this._events = this._events || {}), (this._maxListeners = this._maxListeners || void 0);
											}
											function n(e) {
												return 'function' == typeof e;
											}
											function i(e) {
												return 'object' == (0, f.default)(e) && null !== e;
											}
											function o(e) {
												return void 0 === e;
											}
											(e.exports = r),
												(r.EventEmitter = r),
												(r.prototype._events = void 0),
												(r.prototype._maxListeners = void 0),
												(r.defaultMaxListeners = 10),
												(r.prototype.setMaxListeners = function (e) {
													if ('number' != typeof e || e < 0 || isNaN(e)) throw TypeError('n must be a positive number');
													return (this._maxListeners = e), this;
												}),
												(r.prototype.emit = function (e) {
													var t, r, s, a, u, c;
													if ((this._events || (this._events = {}), 'error' === e && (!this._events.error || (i(this._events.error) && !this._events.error.length)))) {
														if ((t = arguments[1]) instanceof Error) throw t;
														var f = new Error('Uncaught, unspecified "error" event. (' + t + ')');
														throw ((f.context = t), f);
													}
													if (o((r = this._events[e]))) return !1;
													if (n(r))
														switch (arguments.length) {
															case 1:
																r.call(this);
																break;
															case 2:
																r.call(this, arguments[1]);
																break;
															case 3:
																r.call(this, arguments[1], arguments[2]);
																break;
															default:
																(a = Array.prototype.slice.call(arguments, 1)), r.apply(this, a);
														}
													else if (i(r)) for (a = Array.prototype.slice.call(arguments, 1), s = (c = r.slice()).length, u = 0; u < s; u++) c[u].apply(this, a);
													return !0;
												}),
												(r.prototype.addListener = function (e, t) {
													var s;
													if (!n(t)) throw TypeError('listener must be a function');
													return (
														this._events || (this._events = {}),
														this._events.newListener && this.emit('newListener', e, n(t.listener) ? t.listener : t),
														this._events[e] ? (i(this._events[e]) ? this._events[e].push(t) : (this._events[e] = [this._events[e], t])) : (this._events[e] = t),
														i(this._events[e]) &&
															!this._events[e].warned &&
															(s = o(this._maxListeners) ? r.defaultMaxListeners : this._maxListeners) &&
															s > 0 &&
															this._events[e].length > s &&
															((this._events[e].warned = !0),
															console.error(
																'(node) warning: possible EventEmitter memory leak detected. %d listeners added. Use emitter.setMaxListeners() to increase limit.',
																this._events[e].length
															),
															'function' == typeof console.trace && console.trace()),
														this
													);
												}),
												(r.prototype.on = r.prototype.addListener),
												(r.prototype.once = function (e, t) {
													if (!n(t)) throw TypeError('listener must be a function');
													var r = !1;
													function i() {
														this.removeListener(e, i), r || ((r = !0), t.apply(this, arguments));
													}
													return (i.listener = t), this.on(e, i), this;
												}),
												(r.prototype.removeListener = function (e, t) {
													var r, o, s, a;
													if (!n(t)) throw TypeError('listener must be a function');
													if (!this._events || !this._events[e]) return this;
													if (((s = (r = this._events[e]).length), (o = -1), r === t || (n(r.listener) && r.listener === t)))
														delete this._events[e], this._events.removeListener && this.emit('removeListener', e, t);
													else if (i(r)) {
														for (a = s; a-- > 0; )
															if (r[a] === t || (r[a].listener && r[a].listener === t)) {
																o = a;
																break;
															}
														if (o < 0) return this;
														1 === r.length ? ((r.length = 0), delete this._events[e]) : r.splice(o, 1), this._events.removeListener && this.emit('removeListener', e, t);
													}
													return this;
												}),
												(r.prototype.removeAllListeners = function (e) {
													var t, r;
													if (!this._events) return this;
													if (!this._events.removeListener) return 0 === arguments.length ? (this._events = {}) : this._events[e] && delete this._events[e], this;
													if (0 === arguments.length) {
														for (t in this._events) 'removeListener' !== t && this.removeAllListeners(t);
														return this.removeAllListeners('removeListener'), (this._events = {}), this;
													}
													if (n((r = this._events[e]))) this.removeListener(e, r);
													else if (r) for (; r.length; ) this.removeListener(e, r[r.length - 1]);
													return delete this._events[e], this;
												}),
												(r.prototype.listeners = function (e) {
													return this._events && this._events[e] ? (n(this._events[e]) ? [this._events[e]] : this._events[e].slice()) : [];
												}),
												(r.prototype.listenerCount = function (e) {
													if (this._events) {
														var t = this._events[e];
														if (n(t)) return 1;
														if (t) return t.length;
													}
													return 0;
												}),
												(r.listenerCount = function (e, t) {
													return e.listenerCount(t);
												});
										},
										function (e, t, r) {
											var n = r(10),
												s = r(9),
												a = r(2)('weapp-socket:'),
												h = ['CONNECTING', 'OPEN', 'CLOSING', 'CLOSED'],
												p = (function (e) {
													(0, o.default)(r, e);
													var t = l(r);
													function r(e, n, o) {
														var s;
														return (
															(0, c.default)(this, r),
															((s = t.call(this)).readyState = r.CONNECTING),
															(s.protocol = ''),
															(s._socket = null),
															null !== e &&
																(Array.isArray(n) ? (n = n.join(', ')) : 'object' == (0, f.default)(n) && null !== n && ((o = n), (n = void 0)),
																function (e, t, r) {
																	Object.assign(r, { url: e, header: { 'content-type': 'application/json' }, protocols: t, method: 'GET' }),
																		(this._socket = (function (e) {
																			var t = wx.connectSocket(e);
																			return (
																				a('socketTask: ', t),
																				t || {
																					onClose: wx.onSocketClose,
																					onOpen: wx.onSocketOpen,
																					onError: wx.onSocketError,
																					onMessage: wx.onSocketMessage,
																					send: wx.sendSocketMessage,
																					close: wx.closeSocket
																				}
																			);
																		})(r)),
																		this.addSocketEventListeners();
																}.call((0, i.default)(s), e, n, o)),
															s
														);
													}
													return (
														(0, u.default)(r, [
															{
																key: 'CONNECTING',
																get: function () {
																	return r.CONNECTING;
																}
															},
															{
																key: 'CLOSING',
																get: function () {
																	return r.CLOSING;
																}
															},
															{
																key: 'CLOSED',
																get: function () {
																	return r.CLOSED;
																}
															},
															{
																key: 'OPEN',
																get: function () {
																	return r.OPEN;
																}
															},
															{
																key: 'addSocketEventListeners',
																value: function () {
																	var e = this;
																	this._socket.onOpen(function () {
																		(e.readyState = r.OPEN), e.onopen();
																	}),
																		this._socket.onClose(function (t) {
																			a('onclose: ', t), (e.readyState = r.CLOSED), e.onclose(t.code, t.reason);
																		}),
																		this._socket.onError(function (t) {
																			a('onerror: ', t), e.onerror(t);
																		}),
																		this._socket.onMessage(function (t) {
																			e.onmessage(t);
																		});
																}
															},
															{
																key: 'send',
																value: function (e) {
																	a('send data: ', e, this.readyState), this.readyState === r.OPEN && this._socket.send({ data: e });
																}
															},
															{
																key: 'close',
																value: function (e, t) {
																	a('close socket: ', e, t), (this.readyState = r.CLOSING), this._socket.close({ code: e, reason: t });
																}
															}
														]),
														r
													);
												})(n);
											h.forEach(function (e, t) {
												p[h[t]] = t;
											}),
												['open', 'error', 'close', 'message'].forEach(function (e) {
													Object.defineProperty(p.prototype, 'on'.concat(e), {
														get: function () {
															for (var t = this.listeners(e), r = 0; r < t.length; r++) if (t[r]._listener) return t[r]._listener;
														},
														set: function (t) {
															for (var r = this.listeners(e), n = 0; n < r.length; n++) r[n]._listener && this.removeListener(e, r[n]);
															this.addEventListener(e, t);
														}
													});
												}),
												(p.prototype.addEventListener = s.addEventListener),
												(p.prototype.removeEventListener = s.removeEventListener),
												(e.exports = p);
										},
										function (e, t, r) {
											var n,
												i = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-_'.split(''),
												o = 64,
												s = {},
												a = 0,
												u = 0;
											function c(e) {
												var t = '';
												do {
													(t = i[e % o] + t), (e = Math.floor(e / o));
												} while (e > 0);
												return t;
											}
											function f() {
												var e = c(+new Date());
												return e !== n ? ((a = 0), (n = e)) : e + '.' + c(a++);
											}
											for (; u < o; u++) s[i[u]] = u;
											(f.encode = c),
												(f.decode = function (e) {
													var t = 0;
													for (u = 0; u < e.length; u++) t = t * o + s[e.charAt(u)];
													return t;
												}),
												(e.exports = f);
										},
										function (e, t) {
											e.exports = function (e, t) {
												var r = function () {};
												(r.prototype = t.prototype), (e.prototype = new r()), (e.prototype.constructor = e);
											};
										},
										function (e, t, r) {
											(function (t) {
												var r = t.BlobBuilder || t.WebKitBlobBuilder || t.MSBlobBuilder || t.MozBlobBuilder,
													n = (function () {
														try {
															return 2 === new Blob(['hi']).size;
														} catch (e) {
															return !1;
														}
													})(),
													i =
														n &&
														(function () {
															try {
																return 2 === new Blob([new Uint8Array([1, 2])]).size;
															} catch (e) {
																return !1;
															}
														})(),
													o = r && r.prototype.append && r.prototype.getBlob;
												function s(e) {
													for (var t = 0; t < e.length; t++) {
														var r = e[t];
														if (r.buffer instanceof ArrayBuffer) {
															var n = r.buffer;
															if (r.byteLength !== n.byteLength) {
																var i = new Uint8Array(r.byteLength);
																i.set(new Uint8Array(n, r.byteOffset, r.byteLength)), (n = i.buffer);
															}
															e[t] = n;
														}
													}
												}
												e.exports = n
													? i
														? t.Blob
														: function (e, t) {
																return s(e), new Blob(e, t || {});
														  }
													: o
													? function (e, t) {
															t = t || {};
															var n = new r();
															s(e);
															for (var i = 0; i < e.length; i++) n.append(e[i]);
															return t.type ? n.getBlob(t.type) : n.getBlob();
													  }
													: void 0;
											}).call(this, r(0));
										},
										function (e, t) {
											!(function () {
												for (var e = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/', r = new Uint8Array(256), n = 0; n < e.length; n++)
													r[e.charCodeAt(n)] = n;
												(t.encode = function (t) {
													var r,
														n = new Uint8Array(t),
														i = n.length,
														o = '';
													for (r = 0; r < i; r += 3)
														(o += e[n[r] >> 2]), (o += e[((3 & n[r]) << 4) | (n[r + 1] >> 4)]), (o += e[((15 & n[r + 1]) << 2) | (n[r + 2] >> 6)]), (o += e[63 & n[r + 2]]);
													return i % 3 == 2 ? (o = o.substring(0, o.length - 1) + '=') : i % 3 == 1 && (o = o.substring(0, o.length - 2) + '=='), o;
												}),
													(t.decode = function (e) {
														var t,
															n,
															i,
															o,
															s,
															a = 0.75 * e.length,
															u = e.length,
															c = 0;
														'=' === e[e.length - 1] && (a--, '=' === e[e.length - 2] && a--);
														var f = new ArrayBuffer(a),
															l = new Uint8Array(f);
														for (t = 0; t < u; t += 4)
															(n = r[e.charCodeAt(t)]),
																(i = r[e.charCodeAt(t + 1)]),
																(o = r[e.charCodeAt(t + 2)]),
																(s = r[e.charCodeAt(t + 3)]),
																(l[c++] = (n << 2) | (i >> 4)),
																(l[c++] = ((15 & i) << 4) | (o >> 2)),
																(l[c++] = ((3 & o) << 6) | (63 & s));
														return f;
													});
											})();
										},
										function (e, t) {
											e.exports = function (e) {
												return (
													e.webpackPolyfill ||
														((e.deprecate = function () {}),
														(e.paths = []),
														e.children || (e.children = []),
														Object.defineProperty(e, 'loaded', {
															enumerable: !0,
															get: function () {
																return e.l;
															}
														}),
														Object.defineProperty(e, 'id', {
															enumerable: !0,
															get: function () {
																return e.i;
															}
														}),
														(e.webpackPolyfill = 1)),
													e
												);
											};
										},
										function (e, t, r) {
											(function (e, n) {
												var i;
												!(function (o) {
													var s = ('object' == (0, f.default)(e) && e && e.exports, 'object' == (0, f.default)(n) && n);
													s.global !== s && s.window;
													var a,
														u,
														c,
														l = String.fromCharCode;
													function h(e) {
														for (var t, r, n = [], i = 0, o = e.length; i < o; )
															(t = e.charCodeAt(i++)) >= 55296 && t <= 56319 && i < o
																? 56320 == (64512 & (r = e.charCodeAt(i++)))
																	? n.push(((1023 & t) << 10) + (1023 & r) + 65536)
																	: (n.push(t), i--)
																: n.push(t);
														return n;
													}
													function p(e, t) {
														if (e >= 55296 && e <= 57343) {
															if (t) throw Error('Lone surrogate U+' + e.toString(16).toUpperCase() + ' is not a scalar value');
															return !1;
														}
														return !0;
													}
													function d(e, t) {
														return l(((e >> t) & 63) | 128);
													}
													function v(e, t) {
														if (0 == (4294967168 & e)) return l(e);
														var r = '';
														return (
															0 == (4294965248 & e)
																? (r = l(((e >> 6) & 31) | 192))
																: 0 == (4294901760 & e)
																? (p(e, t) || (e = 65533), (r = l(((e >> 12) & 15) | 224)), (r += d(e, 6)))
																: 0 == (4292870144 & e) && ((r = l(((e >> 18) & 7) | 240)), (r += d(e, 12)), (r += d(e, 6))),
															r + l((63 & e) | 128)
														);
													}
													function y() {
														if (c >= u) throw Error('Invalid byte index');
														var e = 255 & a[c];
														if ((c++, 128 == (192 & e))) return 63 & e;
														throw Error('Invalid continuation byte');
													}
													function b(e) {
														var t, r;
														if (c > u) throw Error('Invalid byte index');
														if (c == u) return !1;
														if (((t = 255 & a[c]), c++, 0 == (128 & t))) return t;
														if (192 == (224 & t)) {
															if ((r = ((31 & t) << 6) | y()) >= 128) return r;
															throw Error('Invalid continuation byte');
														}
														if (224 == (240 & t)) {
															if ((r = ((15 & t) << 12) | (y() << 6) | y()) >= 2048) return p(r, e) ? r : 65533;
															throw Error('Invalid continuation byte');
														}
														if (240 == (248 & t) && (r = ((7 & t) << 18) | (y() << 12) | (y() << 6) | y()) >= 65536 && r <= 1114111) return r;
														throw Error('Invalid UTF-8 detected');
													}
													var m = {
														version: '2.1.2',
														encode: function (e, t) {
															for (var r = !1 !== (t = t || {}).strict, n = h(e), i = n.length, o = -1, s = ''; ++o < i; ) s += v(n[o], r);
															return s;
														},
														decode: function (e, t) {
															var r = !1 !== (t = t || {}).strict;
															(a = h(e)), (u = a.length), (c = 0);
															for (var n, i = []; !1 !== (n = b(r)); ) i.push(n);
															return (function (e) {
																for (var t, r = e.length, n = -1, i = ''; ++n < r; )
																	(t = e[n]) > 65535 && ((i += l((((t -= 65536) >>> 10) & 1023) | 55296)), (t = 56320 | (1023 & t))), (i += l(t));
																return i;
															})(i);
														}
													};
													void 0 ===
														(i = function () {
															return m;
														}.call(t, r, t, e)) || (e.exports = i);
												})();
											}).call(this, r(16)(e), r(0));
										},
										function (e, t) {
											function r() {}
											e.exports = function (e, t, n) {
												var i = !1;
												return (n = n || r), (o.count = e), 0 === e ? t() : o;
												function o(e, r) {
													if (o.count <= 0) throw new Error('after called too many times');
													--o.count, e ? ((i = !0), t(e), (t = n)) : 0 !== o.count || i || t(null, r);
												}
											};
										},
										function (e, t) {
											e.exports = function (e, t, r) {
												var n = e.byteLength;
												if (((t = t || 0), (r = r || n), e.slice)) return e.slice(t, r);
												if ((t < 0 && (t += n), r < 0 && (r += n), r > n && (r = n), t >= n || t >= r || 0 === n)) return new ArrayBuffer(0);
												for (var i = new Uint8Array(e), o = new Uint8Array(r - t), s = t, a = 0; s < r; s++, a++) o[a] = i[s];
												return o.buffer;
											};
										},
										function (e, t) {
											var r = {}.toString;
											e.exports =
												Array.isArray ||
												function (e) {
													return '[object Array]' == r.call(e);
												};
										},
										function (e, t) {
											var r = {}.toString;
											e.exports =
												Array.isArray ||
												function (e) {
													return '[object Array]' == r.call(e);
												};
										},
										function (e, t) {
											(t.read = function (e, t, r, n, i) {
												var o,
													s,
													a = 8 * i - n - 1,
													u = (1 << a) - 1,
													c = u >> 1,
													f = -7,
													l = r ? i - 1 : 0,
													h = r ? -1 : 1,
													p = e[t + l];
												for (l += h, o = p & ((1 << -f) - 1), p >>= -f, f += a; f > 0; o = 256 * o + e[t + l], l += h, f -= 8);
												for (s = o & ((1 << -f) - 1), o >>= -f, f += n; f > 0; s = 256 * s + e[t + l], l += h, f -= 8);
												if (0 === o) o = 1 - c;
												else {
													if (o === u) return s ? NaN : (1 / 0) * (p ? -1 : 1);
													(s += Math.pow(2, n)), (o -= c);
												}
												return (p ? -1 : 1) * s * Math.pow(2, o - n);
											}),
												(t.write = function (e, t, r, n, i, o) {
													var s,
														a,
														u,
														c = 8 * o - i - 1,
														f = (1 << c) - 1,
														l = f >> 1,
														h = 23 === i ? Math.pow(2, -24) - Math.pow(2, -77) : 0,
														p = n ? 0 : o - 1,
														d = n ? 1 : -1,
														v = t < 0 || (0 === t && 1 / t < 0) ? 1 : 0;
													for (
														t = Math.abs(t),
															isNaN(t) || t === 1 / 0
																? ((a = isNaN(t) ? 1 : 0), (s = f))
																: ((s = Math.floor(Math.log(t) / Math.LN2)),
																  t * (u = Math.pow(2, -s)) < 1 && (s--, (u *= 2)),
																  (t += s + l >= 1 ? h / u : h * Math.pow(2, 1 - l)) * u >= 2 && (s++, (u /= 2)),
																  s + l >= f
																		? ((a = 0), (s = f))
																		: s + l >= 1
																		? ((a = (t * u - 1) * Math.pow(2, i)), (s += l))
																		: ((a = t * Math.pow(2, l - 1) * Math.pow(2, i)), (s = 0)));
														i >= 8;
														e[r + p] = 255 & a, p += d, a /= 256, i -= 8
													);
													for (s = (s << i) | a, c += i; c > 0; e[r + p] = 255 & s, p += d, s /= 256, c -= 8);
													e[r + p - d] |= 128 * v;
												});
										},
										function (e, t, r) {
											(t.byteLength = function (e) {
												var t = c(e),
													r = t[0],
													n = t[1];
												return (3 * (r + n)) / 4 - n;
											}),
												(t.toByteArray = function (e) {
													for (var t, r = c(e), n = r[0], s = r[1], a = new o(NaN), u = 0, f = s > 0 ? n - 4 : n, l = 0; l < f; l += 4)
														(t = (i[e.charCodeAt(l)] << 18) | (i[e.charCodeAt(l + 1)] << 12) | (i[e.charCodeAt(l + 2)] << 6) | i[e.charCodeAt(l + 3)]),
															(a[u++] = (t >> 16) & 255),
															(a[u++] = (t >> 8) & 255),
															(a[u++] = 255 & t);
													return (
														2 === s && ((t = (i[e.charCodeAt(l)] << 2) | (i[e.charCodeAt(l + 1)] >> 4)), (a[u++] = 255 & t)),
														1 === s &&
															((t = (i[e.charCodeAt(l)] << 10) | (i[e.charCodeAt(l + 1)] << 4) | (i[e.charCodeAt(l + 2)] >> 2)),
															(a[u++] = (t >> 8) & 255),
															(a[u++] = 255 & t)),
														a
													);
												}),
												(t.fromByteArray = function (e) {
													for (var t, r = e.length, i = r % 3, o = [], s = 0, a = r - i; s < a; s += 16383) o.push(f(e, s, s + 16383 > a ? a : s + 16383));
													return (
														1 === i
															? ((t = e[r - 1]), o.push(n[t >> 2] + n[(t << 4) & 63] + '=='))
															: 2 === i && ((t = (e[r - 2] << 8) + e[r - 1]), o.push(n[t >> 10] + n[(t >> 4) & 63] + n[(t << 2) & 63] + '=')),
														o.join('')
													);
												});
											for (
												var n = [],
													i = [],
													o = 'undefined' != typeof Uint8Array ? Uint8Array : Array,
													s = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/',
													a = 0,
													u = s.length;
												a < u;
												++a
											)
												(n[a] = s[a]), (i[s.charCodeAt(a)] = a);
											function c(e) {
												var t = e.length;
												if (t % 4 > 0) throw new Error('Invalid string. Length must be a multiple of 4');
												var r = e.indexOf('=');
												return -1 === r && (r = t), [r, r === t ? 0 : 4 - (r % 4)];
											}
											function f(e, t, r) {
												for (var i, o, s = [], a = t; a < r; a += 3)
													(i = ((e[a] << 16) & 16711680) + ((e[a + 1] << 8) & 65280) + (255 & e[a + 2])),
														s.push(n[((o = i) >> 18) & 63] + n[(o >> 12) & 63] + n[(o >> 6) & 63] + n[63 & o]);
												return s.join('');
											}
											(i['-'.charCodeAt(0)] = 62), (i['_'.charCodeAt(0)] = 63);
										},
										function (e, t, r) {
											(function (e) {
												var n = r(23),
													i = r(22),
													o = r(21);
												function s() {
													return u.TYPED_ARRAY_SUPPORT ? 2147483647 : 1073741823;
												}
												function a(e, t) {
													if (s() < t) throw new RangeError('Invalid typed array length');
													return u.TYPED_ARRAY_SUPPORT ? ((e = new Uint8Array(t)).__proto__ = u.prototype) : (null === e && (e = new u(t)), (e.length = t)), e;
												}
												function u(e, t, r) {
													if (!(u.TYPED_ARRAY_SUPPORT || this instanceof u)) return new u(e, t, r);
													if ('number' == typeof e) {
														if ('string' == typeof t) throw new Error('If encoding is specified then the first argument must be a string');
														return l(this, e);
													}
													return c(this, e, t, r);
												}
												function c(e, t, r, n) {
													if ('number' == typeof t) throw new TypeError('"value" argument must not be a number');
													return 'undefined' != typeof ArrayBuffer && t instanceof ArrayBuffer
														? (function (e, t, r, n) {
																if ((t.byteLength, r < 0 || t.byteLength < r)) throw new RangeError("'offset' is out of bounds");
																if (t.byteLength < r + (n || 0)) throw new RangeError("'length' is out of bounds");
																return (
																	(t = void 0 === r && void 0 === n ? new Uint8Array(t) : void 0 === n ? new Uint8Array(t, r) : new Uint8Array(t, r, n)),
																	u.TYPED_ARRAY_SUPPORT ? ((e = t).__proto__ = u.prototype) : (e = h(e, t)),
																	e
																);
														  })(e, t, r, n)
														: 'string' == typeof t
														? (function (e, t, r) {
																if ((('string' == typeof r && '' !== r) || (r = 'utf8'), !u.isEncoding(r)))
																	throw new TypeError('"encoding" must be a valid string encoding');
																var n = 0 | d(t, r),
																	i = (e = a(e, n)).write(t, r);
																return i !== n && (e = e.slice(0, i)), e;
														  })(e, t, r)
														: (function (e, t) {
																if (u.isBuffer(t)) {
																	var r = 0 | p(t.length);
																	return 0 === (e = a(e, r)).length ? e : (t.copy(e, 0, 0, r), e);
																}
																if (t) {
																	if (('undefined' != typeof ArrayBuffer && t.buffer instanceof ArrayBuffer) || 'length' in t)
																		return 'number' != typeof t.length || (n = t.length) != n ? a(e, 0) : h(e, t);
																	if ('Buffer' === t.type && o(t.data)) return h(e, t.data);
																}
																var n;
																throw new TypeError('First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.');
														  })(e, t);
												}
												function f(e) {
													if ('number' != typeof e) throw new TypeError('"size" argument must be a number');
													if (e < 0) throw new RangeError('"size" argument must not be negative');
												}
												function l(e, t) {
													if ((f(t), (e = a(e, t < 0 ? 0 : 0 | p(t))), !u.TYPED_ARRAY_SUPPORT)) for (var r = 0; r < t; ++r) e[r] = 0;
													return e;
												}
												function h(e, t) {
													var r = t.length < 0 ? 0 : 0 | p(t.length);
													e = a(e, r);
													for (var n = 0; n < r; n += 1) e[n] = 255 & t[n];
													return e;
												}
												function p(e) {
													if (e >= s()) throw new RangeError('Attempt to allocate Buffer larger than maximum size: 0x' + s().toString(16) + ' bytes');
													return 0 | e;
												}
												function d(e, t) {
													if (u.isBuffer(e)) return e.length;
													if ('undefined' != typeof ArrayBuffer && 'function' == typeof ArrayBuffer.isView && (ArrayBuffer.isView(e) || e instanceof ArrayBuffer))
														return e.byteLength;
													'string' != typeof e && (e = '' + e);
													var r = e.length;
													if (0 === r) return 0;
													for (var n = !1; ; )
														switch (t) {
															case 'ascii':
															case 'latin1':
															case 'binary':
																return r;
															case 'utf8':
															case 'utf-8':
															case void 0:
																return q(e).length;
															case 'ucs2':
															case 'ucs-2':
															case 'utf16le':
															case 'utf-16le':
																return 2 * r;
															case 'hex':
																return r >>> 1;
															case 'base64':
																return Y(e).length;
															default:
																if (n) return q(e).length;
																(t = ('' + t).toLowerCase()), (n = !0);
														}
												}
												function v(e, t, r) {
													var n = e[t];
													(e[t] = e[r]), (e[r] = n);
												}
												function y(e, t, r, n, i) {
													if (0 === e.length) return -1;
													if (
														('string' == typeof r ? ((n = r), (r = 0)) : r > 2147483647 ? (r = 2147483647) : r < -2147483648 && (r = -2147483648),
														(r = +r),
														isNaN(r) && (r = i ? 0 : e.length - 1),
														r < 0 && (r = e.length + r),
														r >= e.length)
													) {
														if (i) return -1;
														r = e.length - 1;
													} else if (r < 0) {
														if (!i) return -1;
														r = 0;
													}
													if (('string' == typeof t && (t = u.from(t, n)), u.isBuffer(t))) return 0 === t.length ? -1 : b(e, t, r, n, i);
													if ('number' == typeof t)
														return (
															(t &= 255),
															u.TYPED_ARRAY_SUPPORT && 'function' == typeof Uint8Array.prototype.indexOf
																? i
																	? Uint8Array.prototype.indexOf.call(e, t, r)
																	: Uint8Array.prototype.lastIndexOf.call(e, t, r)
																: b(e, [t], r, n, i)
														);
													throw new TypeError('val must be string, number or Buffer');
												}
												function b(e, t, r, n, i) {
													var o,
														s = 1,
														a = e.length,
														u = t.length;
													if (void 0 !== n && ('ucs2' === (n = String(n).toLowerCase()) || 'ucs-2' === n || 'utf16le' === n || 'utf-16le' === n)) {
														if (e.length < 2 || t.length < 2) return -1;
														(s = 2), (a /= 2), (u /= 2), (r /= 2);
													}
													function c(e, t) {
														return 1 === s ? e[t] : e.readUInt16BE(t * s);
													}
													if (i) {
														var f = -1;
														for (o = r; o < a; o++)
															if (c(e, o) === c(t, -1 === f ? 0 : o - f)) {
																if ((-1 === f && (f = o), o - f + 1 === u)) return f * s;
															} else -1 !== f && (o -= o - f), (f = -1);
													} else
														for (r + u > a && (r = a - u), o = r; o >= 0; o--) {
															for (var l = !0, h = 0; h < u; h++)
																if (c(e, o + h) !== c(t, h)) {
																	l = !1;
																	break;
																}
															if (l) return o;
														}
													return -1;
												}
												function m(e, t, r, n) {
													r = Number(r) || 0;
													var i = e.length - r;
													n ? (n = Number(n)) > i && (n = i) : (n = i);
													var o = t.length;
													if (o % 2 != 0) throw new TypeError('Invalid hex string');
													n > o / 2 && (n = o / 2);
													for (var s = 0; s < n; ++s) {
														var a = parseInt(t.substr(2 * s, 2), 16);
														if (isNaN(a)) return s;
														e[r + s] = a;
													}
													return s;
												}
												function g(e, t, r, n) {
													return F(q(t, e.length - r), e, r, n);
												}
												function w(e, t, r, n) {
													return F(
														(function (e) {
															for (var t = [], r = 0; r < e.length; ++r) t.push(255 & e.charCodeAt(r));
															return t;
														})(t),
														e,
														r,
														n
													);
												}
												function _(e, t, r, n) {
													return w(e, t, r, n);
												}
												function k(e, t, r, n) {
													return F(Y(t), e, r, n);
												}
												function E(e, t, r, n) {
													return F(
														(function (e, t) {
															for (var r, n, i, o = [], s = 0; s < e.length && !((t -= 2) < 0); ++s)
																(n = (r = e.charCodeAt(s)) >> 8), (i = r % 256), o.push(i), o.push(n);
															return o;
														})(t, e.length - r),
														e,
														r,
														n
													);
												}
												function S(e, t, r) {
													return 0 === t && r === e.length ? n.fromByteArray(e) : n.fromByteArray(e.slice(t, r));
												}
												function A(e, t, r) {
													r = Math.min(e.length, r);
													for (var n = [], i = t; i < r; ) {
														var o,
															s,
															a,
															u,
															c = e[i],
															f = null,
															l = c > 239 ? 4 : c > 223 ? 3 : c > 191 ? 2 : 1;
														if (i + l <= r)
															switch (l) {
																case 1:
																	c < 128 && (f = c);
																	break;
																case 2:
																	128 == (192 & (o = e[i + 1])) && (u = ((31 & c) << 6) | (63 & o)) > 127 && (f = u);
																	break;
																case 3:
																	(o = e[i + 1]),
																		(s = e[i + 2]),
																		128 == (192 & o) &&
																			128 == (192 & s) &&
																			(u = ((15 & c) << 12) | ((63 & o) << 6) | (63 & s)) > 2047 &&
																			(u < 55296 || u > 57343) &&
																			(f = u);
																	break;
																case 4:
																	(o = e[i + 1]),
																		(s = e[i + 2]),
																		(a = e[i + 3]),
																		128 == (192 & o) &&
																			128 == (192 & s) &&
																			128 == (192 & a) &&
																			(u = ((15 & c) << 18) | ((63 & o) << 12) | ((63 & s) << 6) | (63 & a)) > 65535 &&
																			u < 1114112 &&
																			(f = u);
															}
														null === f ? ((f = 65533), (l = 1)) : f > 65535 && ((f -= 65536), n.push(((f >>> 10) & 1023) | 55296), (f = 56320 | (1023 & f))),
															n.push(f),
															(i += l);
													}
													return (function (e) {
														var t = e.length;
														if (t <= C) return String.fromCharCode.apply(String, e);
														for (var r = '', n = 0; n < t; ) r += String.fromCharCode.apply(String, e.slice(n, (n += C)));
														return r;
													})(n);
												}
												(t.Buffer = u),
													(t.SlowBuffer = function (e) {
														return +e != e && (e = 0), u.alloc(+e);
													}),
													(t.INSPECT_MAX_BYTES = 50),
													(u.TYPED_ARRAY_SUPPORT =
														void 0 !== e.TYPED_ARRAY_SUPPORT
															? e.TYPED_ARRAY_SUPPORT
															: (function () {
																	try {
																		var e = new Uint8Array(1);
																		return (
																			(e.__proto__ = {
																				__proto__: Uint8Array.prototype,
																				foo: function () {
																					return 42;
																				}
																			}),
																			42 === e.foo() && 'function' == typeof e.subarray && 0 === e.subarray(1, 1).byteLength
																		);
																	} catch (e) {
																		return !1;
																	}
															  })()),
													(t.kMaxLength = s()),
													(u.poolSize = 8192),
													(u._augment = function (e) {
														return (e.__proto__ = u.prototype), e;
													}),
													(u.from = function (e, t, r) {
														return c(null, e, t, r);
													}),
													u.TYPED_ARRAY_SUPPORT &&
														((u.prototype.__proto__ = Uint8Array.prototype),
														(u.__proto__ = Uint8Array),
														'undefined' != typeof Symbol &&
															Symbol.species &&
															u[Symbol.species] === u &&
															Object.defineProperty(u, Symbol.species, { value: null, configurable: !0 })),
													(u.alloc = function (e, t, r) {
														return (function (e, t, r, n) {
															return f(t), t <= 0 ? a(e, t) : void 0 !== r ? ('string' == typeof n ? a(e, t).fill(r, n) : a(e, t).fill(r)) : a(e, t);
														})(null, e, t, r);
													}),
													(u.allocUnsafe = function (e) {
														return l(null, e);
													}),
													(u.allocUnsafeSlow = function (e) {
														return l(null, e);
													}),
													(u.isBuffer = function (e) {
														return !(null == e || !e._isBuffer);
													}),
													(u.compare = function (e, t) {
														if (!u.isBuffer(e) || !u.isBuffer(t)) throw new TypeError('Arguments must be Buffers');
														if (e === t) return 0;
														for (var r = e.length, n = t.length, i = 0, o = Math.min(r, n); i < o; ++i)
															if (e[i] !== t[i]) {
																(r = e[i]), (n = t[i]);
																break;
															}
														return r < n ? -1 : n < r ? 1 : 0;
													}),
													(u.isEncoding = function (e) {
														switch (String(e).toLowerCase()) {
															case 'hex':
															case 'utf8':
															case 'utf-8':
															case 'ascii':
															case 'latin1':
															case 'binary':
															case 'base64':
															case 'ucs2':
															case 'ucs-2':
															case 'utf16le':
															case 'utf-16le':
																return !0;
															default:
																return !1;
														}
													}),
													(u.concat = function (e, t) {
														if (!o(e)) throw new TypeError('"list" argument must be an Array of Buffers');
														if (0 === e.length) return u.alloc(0);
														var r;
														if (void 0 === t) for (t = 0, r = 0; r < e.length; ++r) t += e[r].length;
														var n = u.allocUnsafe(t),
															i = 0;
														for (r = 0; r < e.length; ++r) {
															var s = e[r];
															if (!u.isBuffer(s)) throw new TypeError('"list" argument must be an Array of Buffers');
															s.copy(n, i), (i += s.length);
														}
														return n;
													}),
													(u.byteLength = d),
													(u.prototype._isBuffer = !0),
													(u.prototype.swap16 = function () {
														var e = this.length;
														if (e % 2 != 0) throw new RangeError('Buffer size must be a multiple of 16-bits');
														for (var t = 0; t < e; t += 2) v(this, t, t + 1);
														return this;
													}),
													(u.prototype.swap32 = function () {
														var e = this.length;
														if (e % 4 != 0) throw new RangeError('Buffer size must be a multiple of 32-bits');
														for (var t = 0; t < e; t += 4) v(this, t, t + 3), v(this, t + 1, t + 2);
														return this;
													}),
													(u.prototype.swap64 = function () {
														var e = this.length;
														if (e % 8 != 0) throw new RangeError('Buffer size must be a multiple of 64-bits');
														for (var t = 0; t < e; t += 8) v(this, t, t + 7), v(this, t + 1, t + 6), v(this, t + 2, t + 5), v(this, t + 3, t + 4);
														return this;
													}),
													(u.prototype.toString = function () {
														var e = 0 | this.length;
														return 0 === e
															? ''
															: 0 === arguments.length
															? A(this, 0, e)
															: function (e, t, r) {
																	var n = !1;
																	if (((void 0 === t || t < 0) && (t = 0), t > this.length)) return '';
																	if (((void 0 === r || r > this.length) && (r = this.length), r <= 0)) return '';
																	if ((r >>>= 0) <= (t >>>= 0)) return '';
																	for (e || (e = 'utf8'); ; )
																		switch (e) {
																			case 'hex':
																				return P(this, t, r);
																			case 'utf8':
																			case 'utf-8':
																				return A(this, t, r);
																			case 'ascii':
																				return R(this, t, r);
																			case 'latin1':
																			case 'binary':
																				return O(this, t, r);
																			case 'base64':
																				return S(this, t, r);
																			case 'ucs2':
																			case 'ucs-2':
																			case 'utf16le':
																			case 'utf-16le':
																				return j(this, t, r);
																			default:
																				if (n) throw new TypeError('Unknown encoding: ' + e);
																				(e = (e + '').toLowerCase()), (n = !0);
																		}
															  }.apply(this, arguments);
													}),
													(u.prototype.equals = function (e) {
														if (!u.isBuffer(e)) throw new TypeError('Argument must be a Buffer');
														return this === e || 0 === u.compare(this, e);
													}),
													(u.prototype.inspect = function () {
														var e = '',
															r = t.INSPECT_MAX_BYTES;
														return this.length > 0 && ((e = this.toString('hex', 0, r).match(/.{2}/g).join(' ')), this.length > r && (e += ' ... ')), '<Buffer ' + e + '>';
													}),
													(u.prototype.compare = function (e, t, r, n, i) {
														if (!u.isBuffer(e)) throw new TypeError('Argument must be a Buffer');
														if (
															(void 0 === t && (t = 0),
															void 0 === r && (r = e ? e.length : 0),
															void 0 === n && (n = 0),
															void 0 === i && (i = this.length),
															t < 0 || r > e.length || n < 0 || i > this.length)
														)
															throw new RangeError('out of range index');
														if (n >= i && t >= r) return 0;
														if (n >= i) return -1;
														if (t >= r) return 1;
														if (((t >>>= 0), (r >>>= 0), (n >>>= 0), (i >>>= 0), this === e)) return 0;
														for (var o = i - n, s = r - t, a = Math.min(o, s), c = this.slice(n, i), f = e.slice(t, r), l = 0; l < a; ++l)
															if (c[l] !== f[l]) {
																(o = c[l]), (s = f[l]);
																break;
															}
														return o < s ? -1 : s < o ? 1 : 0;
													}),
													(u.prototype.includes = function (e, t, r) {
														return -1 !== this.indexOf(e, t, r);
													}),
													(u.prototype.indexOf = function (e, t, r) {
														return y(this, e, t, r, !0);
													}),
													(u.prototype.lastIndexOf = function (e, t, r) {
														return y(this, e, t, r, !1);
													}),
													(u.prototype.write = function (e, t, r, n) {
														if (void 0 === t) (n = 'utf8'), (r = this.length), (t = 0);
														else if (void 0 === r && 'string' == typeof t) (n = t), (r = this.length), (t = 0);
														else {
															if (!isFinite(t)) throw new Error('Buffer.write(string, encoding, offset[, length]) is no longer supported');
															(t |= 0), isFinite(r) ? ((r |= 0), void 0 === n && (n = 'utf8')) : ((n = r), (r = void 0));
														}
														var i = this.length - t;
														if (((void 0 === r || r > i) && (r = i), (e.length > 0 && (r < 0 || t < 0)) || t > this.length))
															throw new RangeError('Attempt to write outside buffer bounds');
														n || (n = 'utf8');
														for (var o = !1; ; )
															switch (n) {
																case 'hex':
																	return m(this, e, t, r);
																case 'utf8':
																case 'utf-8':
																	return g(this, e, t, r);
																case 'ascii':
																	return w(this, e, t, r);
																case 'latin1':
																case 'binary':
																	return _(this, e, t, r);
																case 'base64':
																	return k(this, e, t, r);
																case 'ucs2':
																case 'ucs-2':
																case 'utf16le':
																case 'utf-16le':
																	return E(this, e, t, r);
																default:
																	if (o) throw new TypeError('Unknown encoding: ' + n);
																	(n = ('' + n).toLowerCase()), (o = !0);
															}
													}),
													(u.prototype.toJSON = function () {
														return { type: 'Buffer', data: Array.prototype.slice.call(this._arr || this, 0) };
													});
												var C = 4096;
												function R(e, t, r) {
													var n = '';
													r = Math.min(e.length, r);
													for (var i = t; i < r; ++i) n += String.fromCharCode(127 & e[i]);
													return n;
												}
												function O(e, t, r) {
													var n = '';
													r = Math.min(e.length, r);
													for (var i = t; i < r; ++i) n += String.fromCharCode(e[i]);
													return n;
												}
												function P(e, t, r) {
													var n = e.length;
													(!t || t < 0) && (t = 0), (!r || r < 0 || r > n) && (r = n);
													for (var i = '', o = t; o < r; ++o) i += U(e[o]);
													return i;
												}
												function j(e, t, r) {
													for (var n = e.slice(t, r), i = '', o = 0; o < n.length; o += 2) i += String.fromCharCode(n[o] + 256 * n[o + 1]);
													return i;
												}
												function T(e, t, r) {
													if (e % 1 != 0 || e < 0) throw new RangeError('offset is not uint');
													if (e + t > r) throw new RangeError('Trying to access beyond buffer length');
												}
												function x(e, t, r, n, i, o) {
													if (!u.isBuffer(e)) throw new TypeError('"buffer" argument must be a Buffer instance');
													if (t > i || t < o) throw new RangeError('"value" argument is out of bounds');
													if (r + n > e.length) throw new RangeError('Index out of range');
												}
												function I(e, t, r, n) {
													t < 0 && (t = 65535 + t + 1);
													for (var i = 0, o = Math.min(e.length - r, 2); i < o; ++i) e[r + i] = (t & (255 << (8 * (n ? i : 1 - i)))) >>> (8 * (n ? i : 1 - i));
												}
												function B(e, t, r, n) {
													t < 0 && (t = 4294967295 + t + 1);
													for (var i = 0, o = Math.min(e.length - r, 4); i < o; ++i) e[r + i] = (t >>> (8 * (n ? i : 3 - i))) & 255;
												}
												function M(e, t, r, n, i, o) {
													if (r + n > e.length) throw new RangeError('Index out of range');
													if (r < 0) throw new RangeError('Index out of range');
												}
												function N(e, t, r, n, o) {
													return o || M(e, 0, r, 4), i.write(e, t, r, n, 23, 4), r + 4;
												}
												function D(e, t, r, n, o) {
													return o || M(e, 0, r, 8), i.write(e, t, r, n, 52, 8), r + 8;
												}
												(u.prototype.slice = function (e, t) {
													var r,
														n = this.length;
													if (
														((e = ~~e),
														(t = void 0 === t ? n : ~~t),
														e < 0 ? (e += n) < 0 && (e = 0) : e > n && (e = n),
														t < 0 ? (t += n) < 0 && (t = 0) : t > n && (t = n),
														t < e && (t = e),
														u.TYPED_ARRAY_SUPPORT)
													)
														(r = this.subarray(e, t)).__proto__ = u.prototype;
													else {
														var i = t - e;
														r = new u(i, void 0);
														for (var o = 0; o < i; ++o) r[o] = this[o + e];
													}
													return r;
												}),
													(u.prototype.readUIntLE = function (e, t, r) {
														(e |= 0), (t |= 0), r || T(e, t, this.length);
														for (var n = this[e], i = 1, o = 0; ++o < t && (i *= 256); ) n += this[e + o] * i;
														return n;
													}),
													(u.prototype.readUIntBE = function (e, t, r) {
														(e |= 0), (t |= 0), r || T(e, t, this.length);
														for (var n = this[e + --t], i = 1; t > 0 && (i *= 256); ) n += this[e + --t] * i;
														return n;
													}),
													(u.prototype.readUInt8 = function (e, t) {
														return t || T(e, 1, this.length), this[e];
													}),
													(u.prototype.readUInt16LE = function (e, t) {
														return t || T(e, 2, this.length), this[e] | (this[e + 1] << 8);
													}),
													(u.prototype.readUInt16BE = function (e, t) {
														return t || T(e, 2, this.length), (this[e] << 8) | this[e + 1];
													}),
													(u.prototype.readUInt32LE = function (e, t) {
														return t || T(e, 4, this.length), (this[e] | (this[e + 1] << 8) | (this[e + 2] << 16)) + 16777216 * this[e + 3];
													}),
													(u.prototype.readUInt32BE = function (e, t) {
														return t || T(e, 4, this.length), 16777216 * this[e] + ((this[e + 1] << 16) | (this[e + 2] << 8) | this[e + 3]);
													}),
													(u.prototype.readIntLE = function (e, t, r) {
														(e |= 0), (t |= 0), r || T(e, t, this.length);
														for (var n = this[e], i = 1, o = 0; ++o < t && (i *= 256); ) n += this[e + o] * i;
														return n >= (i *= 128) && (n -= Math.pow(2, 8 * t)), n;
													}),
													(u.prototype.readIntBE = function (e, t, r) {
														(e |= 0), (t |= 0), r || T(e, t, this.length);
														for (var n = t, i = 1, o = this[e + --n]; n > 0 && (i *= 256); ) o += this[e + --n] * i;
														return o >= (i *= 128) && (o -= Math.pow(2, 8 * t)), o;
													}),
													(u.prototype.readInt8 = function (e, t) {
														return t || T(e, 1, this.length), 128 & this[e] ? -1 * (255 - this[e] + 1) : this[e];
													}),
													(u.prototype.readInt16LE = function (e, t) {
														t || T(e, 2, this.length);
														var r = this[e] | (this[e + 1] << 8);
														return 32768 & r ? 4294901760 | r : r;
													}),
													(u.prototype.readInt16BE = function (e, t) {
														t || T(e, 2, this.length);
														var r = this[e + 1] | (this[e] << 8);
														return 32768 & r ? 4294901760 | r : r;
													}),
													(u.prototype.readInt32LE = function (e, t) {
														return t || T(e, 4, this.length), this[e] | (this[e + 1] << 8) | (this[e + 2] << 16) | (this[e + 3] << 24);
													}),
													(u.prototype.readInt32BE = function (e, t) {
														return t || T(e, 4, this.length), (this[e] << 24) | (this[e + 1] << 16) | (this[e + 2] << 8) | this[e + 3];
													}),
													(u.prototype.readFloatLE = function (e, t) {
														return t || T(e, 4, this.length), i.read(this, e, !0, 23, 4);
													}),
													(u.prototype.readFloatBE = function (e, t) {
														return t || T(e, 4, this.length), i.read(this, e, !1, 23, 4);
													}),
													(u.prototype.readDoubleLE = function (e, t) {
														return t || T(e, 8, this.length), i.read(this, e, !0, 52, 8);
													}),
													(u.prototype.readDoubleBE = function (e, t) {
														return t || T(e, 8, this.length), i.read(this, e, !1, 52, 8);
													}),
													(u.prototype.writeUIntLE = function (e, t, r, n) {
														(e = +e), (t |= 0), (r |= 0), n || x(this, e, t, r, Math.pow(2, 8 * r) - 1, 0);
														var i = 1,
															o = 0;
														for (this[t] = 255 & e; ++o < r && (i *= 256); ) this[t + o] = (e / i) & 255;
														return t + r;
													}),
													(u.prototype.writeUIntBE = function (e, t, r, n) {
														(e = +e), (t |= 0), (r |= 0), n || x(this, e, t, r, Math.pow(2, 8 * r) - 1, 0);
														var i = r - 1,
															o = 1;
														for (this[t + i] = 255 & e; --i >= 0 && (o *= 256); ) this[t + i] = (e / o) & 255;
														return t + r;
													}),
													(u.prototype.writeUInt8 = function (e, t, r) {
														return (e = +e), (t |= 0), r || x(this, e, t, 1, 255, 0), u.TYPED_ARRAY_SUPPORT || (e = Math.floor(e)), (this[t] = 255 & e), t + 1;
													}),
													(u.prototype.writeUInt16LE = function (e, t, r) {
														return (
															(e = +e),
															(t |= 0),
															r || x(this, e, t, 2, 65535, 0),
															u.TYPED_ARRAY_SUPPORT ? ((this[t] = 255 & e), (this[t + 1] = e >>> 8)) : I(this, e, t, !0),
															t + 2
														);
													}),
													(u.prototype.writeUInt16BE = function (e, t, r) {
														return (
															(e = +e),
															(t |= 0),
															r || x(this, e, t, 2, 65535, 0),
															u.TYPED_ARRAY_SUPPORT ? ((this[t] = e >>> 8), (this[t + 1] = 255 & e)) : I(this, e, t, !1),
															t + 2
														);
													}),
													(u.prototype.writeUInt32LE = function (e, t, r) {
														return (
															(e = +e),
															(t |= 0),
															r || x(this, e, t, 4, 4294967295, 0),
															u.TYPED_ARRAY_SUPPORT
																? ((this[t + 3] = e >>> 24), (this[t + 2] = e >>> 16), (this[t + 1] = e >>> 8), (this[t] = 255 & e))
																: B(this, e, t, !0),
															t + 4
														);
													}),
													(u.prototype.writeUInt32BE = function (e, t, r) {
														return (
															(e = +e),
															(t |= 0),
															r || x(this, e, t, 4, 4294967295, 0),
															u.TYPED_ARRAY_SUPPORT
																? ((this[t] = e >>> 24), (this[t + 1] = e >>> 16), (this[t + 2] = e >>> 8), (this[t + 3] = 255 & e))
																: B(this, e, t, !1),
															t + 4
														);
													}),
													(u.prototype.writeIntLE = function (e, t, r, n) {
														if (((e = +e), (t |= 0), !n)) {
															var i = Math.pow(2, 8 * r - 1);
															x(this, e, t, r, i - 1, -i);
														}
														var o = 0,
															s = 1,
															a = 0;
														for (this[t] = 255 & e; ++o < r && (s *= 256); )
															e < 0 && 0 === a && 0 !== this[t + o - 1] && (a = 1), (this[t + o] = (((e / s) >> 0) - a) & 255);
														return t + r;
													}),
													(u.prototype.writeIntBE = function (e, t, r, n) {
														if (((e = +e), (t |= 0), !n)) {
															var i = Math.pow(2, 8 * r - 1);
															x(this, e, t, r, i - 1, -i);
														}
														var o = r - 1,
															s = 1,
															a = 0;
														for (this[t + o] = 255 & e; --o >= 0 && (s *= 256); )
															e < 0 && 0 === a && 0 !== this[t + o + 1] && (a = 1), (this[t + o] = (((e / s) >> 0) - a) & 255);
														return t + r;
													}),
													(u.prototype.writeInt8 = function (e, t, r) {
														return (
															(e = +e),
															(t |= 0),
															r || x(this, e, t, 1, 127, -128),
															u.TYPED_ARRAY_SUPPORT || (e = Math.floor(e)),
															e < 0 && (e = 255 + e + 1),
															(this[t] = 255 & e),
															t + 1
														);
													}),
													(u.prototype.writeInt16LE = function (e, t, r) {
														return (
															(e = +e),
															(t |= 0),
															r || x(this, e, t, 2, 32767, -32768),
															u.TYPED_ARRAY_SUPPORT ? ((this[t] = 255 & e), (this[t + 1] = e >>> 8)) : I(this, e, t, !0),
															t + 2
														);
													}),
													(u.prototype.writeInt16BE = function (e, t, r) {
														return (
															(e = +e),
															(t |= 0),
															r || x(this, e, t, 2, 32767, -32768),
															u.TYPED_ARRAY_SUPPORT ? ((this[t] = e >>> 8), (this[t + 1] = 255 & e)) : I(this, e, t, !1),
															t + 2
														);
													}),
													(u.prototype.writeInt32LE = function (e, t, r) {
														return (
															(e = +e),
															(t |= 0),
															r || x(this, e, t, 4, 2147483647, -2147483648),
															u.TYPED_ARRAY_SUPPORT
																? ((this[t] = 255 & e), (this[t + 1] = e >>> 8), (this[t + 2] = e >>> 16), (this[t + 3] = e >>> 24))
																: B(this, e, t, !0),
															t + 4
														);
													}),
													(u.prototype.writeInt32BE = function (e, t, r) {
														return (
															(e = +e),
															(t |= 0),
															r || x(this, e, t, 4, 2147483647, -2147483648),
															e < 0 && (e = 4294967295 + e + 1),
															u.TYPED_ARRAY_SUPPORT
																? ((this[t] = e >>> 24), (this[t + 1] = e >>> 16), (this[t + 2] = e >>> 8), (this[t + 3] = 255 & e))
																: B(this, e, t, !1),
															t + 4
														);
													}),
													(u.prototype.writeFloatLE = function (e, t, r) {
														return N(this, e, t, !0, r);
													}),
													(u.prototype.writeFloatBE = function (e, t, r) {
														return N(this, e, t, !1, r);
													}),
													(u.prototype.writeDoubleLE = function (e, t, r) {
														return D(this, e, t, !0, r);
													}),
													(u.prototype.writeDoubleBE = function (e, t, r) {
														return D(this, e, t, !1, r);
													}),
													(u.prototype.copy = function (e, t, r, n) {
														if ((r || (r = 0), n || 0 === n || (n = this.length), t >= e.length && (t = e.length), t || (t = 0), n > 0 && n < r && (n = r), n === r))
															return 0;
														if (0 === e.length || 0 === this.length) return 0;
														if (t < 0) throw new RangeError('targetStart out of bounds');
														if (r < 0 || r >= this.length) throw new RangeError('sourceStart out of bounds');
														if (n < 0) throw new RangeError('sourceEnd out of bounds');
														n > this.length && (n = this.length), e.length - t < n - r && (n = e.length - t + r);
														var i,
															o = n - r;
														if (this === e && r < t && t < n) for (i = o - 1; i >= 0; --i) e[i + t] = this[i + r];
														else if (o < 1e3 || !u.TYPED_ARRAY_SUPPORT) for (i = 0; i < o; ++i) e[i + t] = this[i + r];
														else Uint8Array.prototype.set.call(e, this.subarray(r, r + o), t);
														return o;
													}),
													(u.prototype.fill = function (e, t, r, n) {
														if ('string' == typeof e) {
															if (('string' == typeof t ? ((n = t), (t = 0), (r = this.length)) : 'string' == typeof r && ((n = r), (r = this.length)), 1 === e.length)) {
																var i = e.charCodeAt(0);
																i < 256 && (e = i);
															}
															if (void 0 !== n && 'string' != typeof n) throw new TypeError('encoding must be a string');
															if ('string' == typeof n && !u.isEncoding(n)) throw new TypeError('Unknown encoding: ' + n);
														} else 'number' == typeof e && (e &= 255);
														if (t < 0 || this.length < t || this.length < r) throw new RangeError('Out of range index');
														if (r <= t) return this;
														var o;
														if (((t >>>= 0), (r = void 0 === r ? this.length : r >>> 0), e || (e = 0), 'number' == typeof e)) for (o = t; o < r; ++o) this[o] = e;
														else {
															var s = u.isBuffer(e) ? e : q(new u(e, n).toString()),
																a = s.length;
															for (o = 0; o < r - t; ++o) this[o + t] = s[o % a];
														}
														return this;
													});
												var L = /[^+\/0-9A-Za-z-_]/g;
												function U(e) {
													return e < 16 ? '0' + e.toString(16) : e.toString(16);
												}
												function q(e, t) {
													var r;
													t = t || 1 / 0;
													for (var n = e.length, i = null, o = [], s = 0; s < n; ++s) {
														if ((r = e.charCodeAt(s)) > 55295 && r < 57344) {
															if (!i) {
																if (r > 56319) {
																	(t -= 3) > -1 && o.push(239, 191, 189);
																	continue;
																}
																if (s + 1 === n) {
																	(t -= 3) > -1 && o.push(239, 191, 189);
																	continue;
																}
																i = r;
																continue;
															}
															if (r < 56320) {
																(t -= 3) > -1 && o.push(239, 191, 189), (i = r);
																continue;
															}
															r = 65536 + (((i - 55296) << 10) | (r - 56320));
														} else i && (t -= 3) > -1 && o.push(239, 191, 189);
														if (((i = null), r < 128)) {
															if ((t -= 1) < 0) break;
															o.push(r);
														} else if (r < 2048) {
															if ((t -= 2) < 0) break;
															o.push((r >> 6) | 192, (63 & r) | 128);
														} else if (r < 65536) {
															if ((t -= 3) < 0) break;
															o.push((r >> 12) | 224, ((r >> 6) & 63) | 128, (63 & r) | 128);
														} else {
															if (!(r < 1114112)) throw new Error('Invalid code point');
															if ((t -= 4) < 0) break;
															o.push((r >> 18) | 240, ((r >> 12) & 63) | 128, ((r >> 6) & 63) | 128, (63 & r) | 128);
														}
													}
													return o;
												}
												function Y(e) {
													return n.toByteArray(
														(function (e) {
															if (
																(e = (function (e) {
																	return e.trim ? e.trim() : e.replace(/^\s+|\s+$/g, '');
																})(e).replace(L, '')).length < 2
															)
																return '';
															for (; e.length % 4 != 0; ) e += '=';
															return e;
														})(e)
													);
												}
												function F(e, t, r, n) {
													for (var i = 0; i < n && !(i + r >= t.length || i >= e.length); ++i) t[i + r] = e[i];
													return i;
												}
											}).call(this, r(0));
										},
										function (e, t, r) {
											(function (t) {
												var n = r(20),
													i = Object.prototype.toString,
													o = 'function' == typeof Blob || ('undefined' != typeof Blob && '[object BlobConstructor]' === i.call(Blob)),
													s = 'function' == typeof File || ('undefined' != typeof File && '[object FileConstructor]' === i.call(File));
												e.exports = function e(r) {
													if (!r || 'object' != (0, f.default)(r)) return !1;
													if (n(r)) {
														for (var i = 0, a = r.length; i < a; i++) if (e(r[i])) return !0;
														return !1;
													}
													if (
														('function' == typeof t && t.isBuffer && t.isBuffer(r)) ||
														('function' == typeof ArrayBuffer && r instanceof ArrayBuffer) ||
														(o && r instanceof Blob) ||
														(s && r instanceof File)
													)
														return !0;
													if (r.toJSON && 'function' == typeof r.toJSON && 1 === arguments.length) return e(r.toJSON(), !0);
													for (var u in r) if (Object.prototype.hasOwnProperty.call(r, u) && e(r[u])) return !0;
													return !1;
												};
											}).call(this, r(24).Buffer);
										},
										function (e, t) {
											e.exports =
												Object.keys ||
												function (e) {
													var t = [],
														r = Object.prototype.hasOwnProperty;
													for (var n in e) r.call(e, n) && t.push(n);
													return t;
												};
										},
										function (e, t, r) {
											(function (t) {
												var n,
													i = r(5),
													o = r(1),
													s = r(3),
													a = r(13),
													u = r(12),
													c = r(2)('engine.io-client:websocket'),
													f = t.WebSocket || t.MozWebSocket;
												if ('undefined' == typeof window)
													try {
														n = r(11);
													} catch (e) {
														c('require error: ', e);
													}
												var l = f;
												function h(e) {
													e && e.forceBase64 && (this.supportsBinary = !1),
														(this.perMessageDeflate = e.perMessageDeflate),
														(this.usingBrowserWebSocket = f && !e.forceNode),
														(this.protocols = e.protocols),
														this.usingBrowserWebSocket || (l = n),
														i.call(this, e);
												}
												l || 'undefined' != typeof window || (l = n),
													(e.exports = h),
													a(h, i),
													(h.prototype.name = 'websocket'),
													(h.prototype.supportsBinary = !0),
													(h.prototype.doOpen = function () {
														if ((c('wesocket do open: ', this.protocols), this.check())) {
															var e = this.uri(),
																t = this.protocols,
																r = { agent: this.agent, perMessageDeflate: this.perMessageDeflate };
															(r.pfx = this.pfx),
																(r.key = this.key),
																(r.passphrase = this.passphrase),
																(r.cert = this.cert),
																(r.ca = this.ca),
																(r.ciphers = this.ciphers),
																(r.rejectUnauthorized = this.rejectUnauthorized),
																this.extraHeaders && (r.headers = this.extraHeaders),
																this.localAddress && (r.localAddress = this.localAddress);
															try {
																this.ws = this.usingBrowserWebSocket ? (t ? new l(e, t) : new l(e)) : new l(e, t, r);
															} catch (e) {
																return this.emit('error', e);
															}
															void 0 === this.ws.binaryType && (this.supportsBinary = !1),
																this.ws.supports && this.ws.supports.binary
																	? ((this.supportsBinary = !0), (this.ws.binaryType = 'nodebuffer'))
																	: (this.ws.binaryType = 'arraybuffer'),
																this.addEventListeners();
														}
													}),
													(h.prototype.addEventListeners = function () {
														var e = this;
														(this.ws.onopen = function () {
															e.onOpen();
														}),
															(this.ws.onclose = function () {
																e.onClose();
															}),
															(this.ws.onmessage = function (t) {
																e.onData(t.data);
															}),
															(this.ws.onerror = function (t) {
																e.onError('websocket error', t);
															});
													}),
													(h.prototype.write = function (e) {
														var t = this;
														this.writable = !1;
														for (var r, n = e.length, i = 0, s = n; i < s; i++)
															(r = e[i]),
																o.encodePacket(r, t.supportsBinary, function (e) {
																	try {
																		t.ws.send(e);
																	} catch (e) {}
																	--n ||
																		(t.emit('flush'),
																		setTimeout(function () {
																			(t.writable = !0), t.emit('drain');
																		}, 0));
																});
													}),
													(h.prototype.onClose = function () {
														i.prototype.onClose.call(this);
													}),
													(h.prototype.doClose = function () {
														void 0 !== this.ws && this.ws.close();
													}),
													(h.prototype.uri = function () {
														var e = this.query || {},
															t = this.secure ? 'wss' : 'ws',
															r = '';
														return (
															this.port && (('wss' === t && 443 !== Number(this.port)) || ('ws' === t && 80 !== Number(this.port))) && (r = ':' + this.port),
															this.timestampRequests && (e[this.timestampParam] = u()),
															this.supportsBinary || (e.b64 = 1),
															(e = s.encode(e)).length && (e = '?' + e),
															t + '://' + (-1 !== this.hostname.indexOf(':') ? '[' + this.hostname + ']' : this.hostname) + r + this.path + e
														);
													}),
													(h.prototype.check = function () {
														return !(!l || ('__initialize' in l && this.name === h.prototype.name));
													});
											}).call(this, r(0));
										},
										function (e, t, r) {
											(function (t) {
												var n = r(6),
													i = r(4),
													o = r(2)('engine.io-client:socket'),
													s = r(8),
													a = r(1),
													u = r(7),
													c = r(3);
												function l(e, r) {
													if (!(this instanceof l)) return new l(e, r);
													(r = r || {}),
														e && 'object' == (0, f.default)(e) && ((r = e), (e = null)),
														e
															? ((e = u(e)),
															  (r.hostname = e.host),
															  (r.secure = 'https' === e.protocol || 'wss' === e.protocol),
															  (r.port = e.port),
															  e.query && (r.query = e.query))
															: r.host && (r.hostname = u(r.host).host),
														(this.secure = null != r.secure ? r.secure : t.location && 'https:' === location.protocol),
														r.hostname && !r.port && (r.port = this.secure ? '443' : '80'),
														(this.agent = r.agent || !1),
														(this.hostname = r.hostname || (t.location ? location.hostname : 'localhost')),
														(this.port = r.port || (t.location && location.port ? location.port : this.secure ? 443 : 80)),
														(this.query = r.query || {}),
														'string' == typeof this.query && (this.query = c.decode(this.query)),
														(this.upgrade = !1 !== r.upgrade),
														(this.path = (r.path || '/engine.io').replace(/\/$/, '') + '/'),
														(this.forceJSONP = !!r.forceJSONP),
														(this.jsonp = !1 !== r.jsonp),
														(this.forceBase64 = !!r.forceBase64),
														(this.enablesXDR = !!r.enablesXDR),
														(this.timestampParam = r.timestampParam || 't'),
														(this.timestampRequests = r.timestampRequests),
														(this.transports = r.transports || ['websocket']),
														(this.transportOptions = r.transportOptions || {}),
														(this.readyState = ''),
														(this.writeBuffer = []),
														(this.prevBufferLen = 0),
														(this.policyPort = r.policyPort || 843),
														(this.rememberUpgrade = r.rememberUpgrade || !1),
														(this.binaryType = null),
														(this.onlyBinaryUpgrades = r.onlyBinaryUpgrades),
														(this.perMessageDeflate = !1 !== r.perMessageDeflate && (r.perMessageDeflate || {})),
														!0 === this.perMessageDeflate && (this.perMessageDeflate = {}),
														this.perMessageDeflate && null == this.perMessageDeflate.threshold && (this.perMessageDeflate.threshold = 1024),
														(this.pfx = r.pfx || null),
														(this.key = r.key || null),
														(this.passphrase = r.passphrase || null),
														(this.cert = r.cert || null),
														(this.ca = r.ca || null),
														(this.ciphers = r.ciphers || null),
														(this.rejectUnauthorized = void 0 === r.rejectUnauthorized || r.rejectUnauthorized),
														(this.forceNode = !!r.forceNode);
													var n = 'object' == (0, f.default)(t) && t;
													n.global === n &&
														(r.extraHeaders && Object.keys(r.extraHeaders).length > 0 && (this.extraHeaders = r.extraHeaders),
														r.localAddress && (this.localAddress = r.localAddress)),
														(this.id = null),
														(this.upgrades = null),
														(this.pingInterval = null),
														(this.pingTimeout = null),
														(this.pingIntervalTimer = null),
														(this.pingTimeoutTimer = null),
														this.open();
												}
												(e.exports = l),
													(l.priorWebsocketSuccess = !1),
													i(l.prototype),
													(l.protocol = a.protocol),
													(l.Socket = l),
													(l.Transport = r(5)),
													(l.transports = r(6)),
													(l.parser = r(1)),
													(l.prototype.createTransport = function (e) {
														o('creating transport "%s"', e);
														var t = (function (e) {
															var t = {};
															for (var r in e) e.hasOwnProperty(r) && (t[r] = e[r]);
															return t;
														})(this.query);
														(t.EIO = a.protocol), (t.transport = e);
														var r = this.transportOptions[e] || {};
														this.id && (t.sid = this.id);
														var i = new n[e]({
															query: t,
															socket: this,
															agent: r.agent || this.agent,
															hostname: r.hostname || this.hostname,
															port: r.port || this.port,
															secure: r.secure || this.secure,
															path: r.path || this.path,
															forceJSONP: r.forceJSONP || this.forceJSONP,
															jsonp: r.jsonp || this.jsonp,
															forceBase64: r.forceBase64 || this.forceBase64,
															enablesXDR: r.enablesXDR || this.enablesXDR,
															timestampRequests: r.timestampRequests || this.timestampRequests,
															timestampParam: r.timestampParam || this.timestampParam,
															policyPort: r.policyPort || this.policyPort,
															pfx: r.pfx || this.pfx,
															key: r.key || this.key,
															passphrase: r.passphrase || this.passphrase,
															cert: r.cert || this.cert,
															ca: r.ca || this.ca,
															ciphers: r.ciphers || this.ciphers,
															rejectUnauthorized: r.rejectUnauthorized || this.rejectUnauthorized,
															perMessageDeflate: r.perMessageDeflate || this.perMessageDeflate,
															extraHeaders: r.extraHeaders || this.extraHeaders,
															forceNode: r.forceNode || this.forceNode,
															localAddress: r.localAddress || this.localAddress,
															requestTimeout: r.requestTimeout || this.requestTimeout,
															protocols: r.protocols || void 0
														});
														return o('transport: ', i), i;
													}),
													(l.prototype.open = function () {
														var e;
														if (this.rememberUpgrade && l.priorWebsocketSuccess && -1 !== this.transports.indexOf('websocket')) e = 'websocket';
														else {
															if (0 === this.transports.length) {
																var t = this;
																return void setTimeout(function () {
																	t.emit('error', 'No transports available');
																}, 0);
															}
															e = this.transports[0];
														}
														this.readyState = 'opening';
														try {
															e = this.createTransport(e);
														} catch (e) {
															return this.transports.shift(), void this.open();
														}
														e.open(), this.setTransport(e);
													}),
													(l.prototype.setTransport = function (e) {
														o('setting transport %s', e.name);
														var t = this;
														this.transport && (o('clearing existing transport %s', this.transport.name), this.transport.removeAllListeners()),
															(this.transport = e),
															e
																.on('drain', function () {
																	t.onDrain();
																})
																.on('packet', function (e) {
																	t.onPacket(e);
																})
																.on('error', function (e) {
																	t.onError(e);
																})
																.on('close', function () {
																	t.onClose('transport close');
																});
													}),
													(l.prototype.probe = function (e) {
														o('probing transport "%s"', e);
														var t = this.createTransport(e, { probe: 1 }),
															r = !1,
															n = this;
														function i() {
															if (n.onlyBinaryUpgrades) {
																var i = !this.supportsBinary && n.transport.supportsBinary;
																r = r || i;
															}
															r ||
																(o('probe transport "%s" opened', e),
																t.send([{ type: 'ping', data: 'probe' }]),
																t.once('packet', function (i) {
																	if (!r)
																		if ('pong' === i.type && 'probe' === i.data) {
																			if ((o('probe transport "%s" pong', e), (n.upgrading = !0), n.emit('upgrading', t), !t)) return;
																			(l.priorWebsocketSuccess = 'websocket' === t.name),
																				o('pausing current transport "%s"', n.transport.name),
																				n.transport.pause(function () {
																					r ||
																						('closed' !== n.readyState &&
																							(o('changing transport and sending upgrade packet'),
																							h(),
																							n.setTransport(t),
																							t.send([{ type: 'upgrade' }]),
																							n.emit('upgrade', t),
																							(t = null),
																							(n.upgrading = !1),
																							n.flush()));
																				});
																		} else {
																			o('probe transport "%s" failed', e);
																			var s = new Error('probe error');
																			(s.transport = t.name), n.emit('upgradeError', s);
																		}
																}));
														}
														function s() {
															r || ((r = !0), h(), t.close(), (t = null));
														}
														function a(r) {
															var i = new Error('probe error: ' + r);
															(i.transport = t.name), s(), o('probe transport "%s" failed because of error: %s', e, r), n.emit('upgradeError', i);
														}
														function u() {
															a('transport closed');
														}
														function c() {
															a('socket closed');
														}
														function f(e) {
															t && e.name !== t.name && (o('"%s" works - aborting "%s"', e.name, t.name), s());
														}
														function h() {
															t.removeListener('open', i),
																t.removeListener('error', a),
																t.removeListener('close', u),
																n.removeListener('close', c),
																n.removeListener('upgrading', f);
														}
														(l.priorWebsocketSuccess = !1),
															t.once('open', i),
															t.once('error', a),
															t.once('close', u),
															this.once('close', c),
															this.once('upgrading', f),
															t.open();
													}),
													(l.prototype.onOpen = function () {
														if (
															(o('socket open'),
															(this.readyState = 'open'),
															(l.priorWebsocketSuccess = 'websocket' === this.transport.name),
															this.emit('open'),
															this.flush(),
															'open' === this.readyState && this.upgrade && this.transport.pause)
														) {
															o('starting upgrade probes');
															for (var e = 0, t = this.upgrades.length; e < t; e++) this.probe(this.upgrades[e]);
														}
													}),
													(l.prototype.onPacket = function (e) {
														if ('opening' === this.readyState || 'open' === this.readyState || 'closing' === this.readyState)
															switch ((o('socket receive: type "%s", data "%s"', e.type, e.data), this.emit('packet', e), this.emit('heartbeat'), e.type)) {
																case 'open':
																	this.onHandshake(JSON.parse(e.data));
																	break;
																case 'pong':
																	this.setPing(), this.emit('pong');
																	break;
																case 'error':
																	var t = new Error('server error');
																	(t.code = e.data), this.onError(t);
																	break;
																case 'message':
																	this.emit('data', e.data), this.emit('message', e.data);
															}
														else o('packet received with socket readyState "%s"', this.readyState);
													}),
													(l.prototype.onHandshake = function (e) {
														this.emit('handshake', e),
															(this.id = e.sid),
															(this.transport.query.sid = e.sid),
															(this.upgrades = this.filterUpgrades(e.upgrades)),
															(this.pingInterval = e.pingInterval),
															(this.pingTimeout = e.pingTimeout),
															this.onOpen(),
															'closed' !== this.readyState &&
																(this.setPing(), this.removeListener('heartbeat', this.onHeartbeat), this.on('heartbeat', this.onHeartbeat));
													}),
													(l.prototype.onHeartbeat = function (e) {
														clearTimeout(this.pingTimeoutTimer);
														var t = this;
														t.pingTimeoutTimer = setTimeout(function () {
															'closed' !== t.readyState && t.onClose('ping timeout');
														}, e || t.pingInterval + t.pingTimeout);
													}),
													(l.prototype.setPing = function () {
														var e = this;
														clearTimeout(e.pingIntervalTimer),
															(e.pingIntervalTimer = setTimeout(function () {
																o('writing ping packet - expecting pong within %sms', e.pingTimeout), e.ping(), e.onHeartbeat(e.pingTimeout);
															}, e.pingInterval));
													}),
													(l.prototype.ping = function () {
														var e = this;
														this.sendPacket('ping', function () {
															e.emit('ping');
														});
													}),
													(l.prototype.onDrain = function () {
														this.writeBuffer.splice(0, this.prevBufferLen), (this.prevBufferLen = 0), 0 === this.writeBuffer.length ? this.emit('drain') : this.flush();
													}),
													(l.prototype.flush = function () {
														'closed' !== this.readyState &&
															this.transport.writable &&
															!this.upgrading &&
															this.writeBuffer.length &&
															(o('flushing %d packets in socket', this.writeBuffer.length),
															this.transport.send(this.writeBuffer),
															(this.prevBufferLen = this.writeBuffer.length),
															this.emit('flush'));
													}),
													(l.prototype.write = l.prototype.send =
														function (e, t, r) {
															return this.sendPacket('message', e, t, r), this;
														}),
													(l.prototype.sendPacket = function (e, t, r, n) {
														if (
															('function' == typeof t && ((n = t), (t = void 0)),
															'function' == typeof r && ((n = r), (r = null)),
															'closing' !== this.readyState && 'closed' !== this.readyState)
														) {
															(r = r || {}).compress = !1 !== r.compress;
															var i = { type: e, data: t, options: r };
															this.emit('packetCreate', i), this.writeBuffer.push(i), n && this.once('flush', n), this.flush();
														}
													}),
													(l.prototype.close = function () {
														if ('opening' === this.readyState || 'open' === this.readyState) {
															this.readyState = 'closing';
															var e = this;
															this.writeBuffer.length
																? this.once('drain', function () {
																		this.upgrading ? n() : t();
																  })
																: this.upgrading
																? n()
																: t();
														}
														function t() {
															e.onClose('forced close'), o('socket closing - telling transport to close'), e.transport.close();
														}
														function r() {
															e.removeListener('upgrade', r), e.removeListener('upgradeError', r), t();
														}
														function n() {
															e.once('upgrade', r), e.once('upgradeError', r);
														}
														return this;
													}),
													(l.prototype.onError = function (e) {
														o('socket error %j', e), (l.priorWebsocketSuccess = !1), this.emit('error', e), this.onClose('transport error', e);
													}),
													(l.prototype.onClose = function (e, t) {
														('opening' !== this.readyState && 'open' !== this.readyState && 'closing' !== this.readyState) ||
															(o('socket close with reason: "%s"', e),
															clearTimeout(this.pingIntervalTimer),
															clearTimeout(this.pingTimeoutTimer),
															this.transport.removeAllListeners('close'),
															this.transport.close(),
															this.transport.removeAllListeners(),
															(this.readyState = 'closed'),
															(this.id = null),
															this.emit('close', e, t),
															(this.writeBuffer = []),
															(this.prevBufferLen = 0));
													}),
													(l.prototype.filterUpgrades = function (e) {
														for (var t = [], r = 0, n = e.length; r < n; r++) ~s(this.transports, e[r]) && t.push(e[r]);
														return t;
													});
											}).call(this, r(0));
										},
										function (e, t, r) {
											(e.exports = r(28)), (e.exports.parser = r(1));
										}
									]));
							},
							function (e, t, r) {
								(function (e) {
									var n = r(2),
										i = r(9),
										o = Object.prototype.toString,
										s = 'function' == typeof e.Blob || '[object BlobConstructor]' === o.call(e.Blob),
										a = 'function' == typeof e.File || '[object FileConstructor]' === o.call(e.File);
									(t.deconstructPacket = function (e) {
										var t = [],
											r = e.data,
											o = e;
										return (
											(o.data = (function e(t, r) {
												if (!t) return t;
												if (i(t)) {
													var o = { _placeholder: !0, num: r.length };
													return r.push(t), o;
												}
												if (n(t)) {
													for (var s = new Array(t.length), a = 0; a < t.length; a++) s[a] = e(t[a], r);
													return s;
												}
												if ('object' == (0, f.default)(t) && !(t instanceof Date)) {
													s = {};
													for (var u in t) s[u] = e(t[u], r);
													return s;
												}
												return t;
											})(r, t)),
											(o.attachments = t.length),
											{ packet: o, buffers: t }
										);
									}),
										(t.reconstructPacket = function (e, t) {
											return (
												(e.data = (function e(t, r) {
													if (!t) return t;
													if (t && t._placeholder) return r[t.num];
													if (n(t)) for (var i = 0; i < t.length; i++) t[i] = e(t[i], r);
													else if ('object' == (0, f.default)(t)) for (var o in t) t[o] = e(t[o], r);
													return t;
												})(e.data, t)),
												(e.attachments = void 0),
												e
											);
										}),
										(t.removeBlobs = function (e, t) {
											var r = 0,
												o = e;
											!(function e(u, c, l) {
												if (!u) return u;
												if ((s && u instanceof Blob) || (a && u instanceof File)) {
													r++;
													var h = new FileReader();
													(h.onload = function () {
														l ? (l[c] = this.result) : (o = this.result), --r || t(o);
													}),
														h.readAsArrayBuffer(u);
												} else if (n(u)) for (var p = 0; p < u.length; p++) e(u[p], p, u);
												else if ('object' == (0, f.default)(u) && !i(u)) for (var d in u) e(u[d], d, u);
											})(o),
												r || t(o);
										});
								}).call(this, r(1));
							},
							function (e, t) {
								var r =
										/^(?:(?![^:@]+:[^:@\/]*@)(http|https|ws|wss):\/\/)?((?:(([^:@]*)(?::([^:@]*))?)?@)?((?:[a-f0-9]{0,4}:){2,7}[a-f0-9]{0,4}|[^:\/?#]*)(?::(\d*))?)(((\/(?:[^?#](?![^?#\/]*\.[^?#\/.]+(?:[?#]|$)))*\/?)?([^?#\/]*))(?:\?([^#]*))?(?:#(.*))?)/,
									n = ['source', 'protocol', 'authority', 'userInfo', 'user', 'password', 'host', 'port', 'relative', 'path', 'directory', 'file', 'query', 'anchor'];
								e.exports = function (e) {
									var t = e,
										i = e.indexOf('['),
										o = e.indexOf(']');
									-1 != i && -1 != o && (e = e.substring(0, i) + e.substring(i, o).replace(/:/g, ';') + e.substring(o, e.length));
									for (var s = r.exec(e || ''), a = {}, u = 14; u--; ) a[n[u]] = s[u] || '';
									return (
										-1 != i &&
											-1 != o &&
											((a.source = t),
											(a.host = a.host.substring(1, a.host.length - 1).replace(/;/g, ':')),
											(a.authority = a.authority.replace('[', '').replace(']', '').replace(/;/g, ':')),
											(a.ipv6uri = !0)),
										a
									);
								};
							},
							function (e, t, r) {
								(function (t) {
									var n = r(21),
										i = r(0)('socket.io-client:url');
									e.exports = function (e, r) {
										var o = e;
										(r = r || t.location),
											null == e && (e = r.protocol + '//' + r.host),
											'string' == typeof e &&
												('/' === e.charAt(0) && (e = '/' === e.charAt(1) ? r.protocol + e : r.host + e),
												/^(https?|wss?):\/\//.test(e) || (i('protocol-less url %s', e), (e = void 0 !== r ? r.protocol + '//' + e : 'https://' + e)),
												i('parse %s', e),
												(o = n(e))),
											o.port || (/^(http|ws)$/.test(o.protocol) ? (o.port = '80') : /^(http|ws)s$/.test(o.protocol) && (o.port = '443')),
											(o.path = o.path || '/');
										var s = -1 !== o.host.indexOf(':') ? '[' + o.host + ']' : o.host;
										return (o.id = o.protocol + '://' + s + ':' + o.port), (o.href = o.protocol + '://' + s + (r && r.port === o.port ? '' : ':' + o.port)), o;
									};
								}).call(this, r(1));
							},
							function (e, t, r) {
								var n = r(22),
									i = r(4),
									o = r(8),
									s = r(0)('socket.io-client');
								e.exports = t = u;
								var a = (t.managers = {});
								function u(e, t) {
									'object' == (0, f.default)(e) && ((t = e), (e = void 0)), (t = t || {});
									var r,
										i = n(e),
										u = i.source,
										c = i.id,
										l = i.path,
										h = a[c] && l in a[c].nsps;
									return (
										t.forceNew || t['force new connection'] || !1 === t.multiplex || h
											? (s('ignoring socket cache for %s', u), (r = o(u, t)))
											: (a[c] || (s('new io instance for %s', u), (a[c] = o(u, t))), (r = a[c])),
										i.query && !t.query && (t.query = i.query),
										r.socket(i.path, t)
									);
								}
								(t.protocol = i.protocol), (t.connect = u), (t.Manager = r(8)), (t.Socket = r(7));
							},
							function (e, t, r) {
								e.exports = r(23);
							}
						]);
					});
				},
				{
					'@babel/runtime/helpers/assertThisInitialized': 1,
					'@babel/runtime/helpers/classCallCheck': 2,
					'@babel/runtime/helpers/createClass': 4,
					'@babel/runtime/helpers/getPrototypeOf': 5,
					'@babel/runtime/helpers/inherits': 6,
					'@babel/runtime/helpers/interopRequireDefault': 7,
					'@babel/runtime/helpers/possibleConstructorReturn': 10,
					'@babel/runtime/helpers/typeof': 12
				}
			],
			16: [
				function (e, t, r) {
					'use strict';
					Object.defineProperty(r, '__esModule', { value: !0 }), (r.Base64 = void 0);
					var n = (function () {
						var e,
							t,
							r,
							n = [
								'A',
								'B',
								'C',
								'D',
								'E',
								'F',
								'G',
								'H',
								'I',
								'J',
								'K',
								'L',
								'M',
								'N',
								'O',
								'P',
								'Q',
								'R',
								'S',
								'T',
								'U',
								'V',
								'W',
								'X',
								'Y',
								'Z',
								'a',
								'b',
								'c',
								'd',
								'e',
								'f',
								'g',
								'h',
								'i',
								'j',
								'k',
								'l',
								'm',
								'n',
								'o',
								'p',
								'q',
								'r',
								's',
								't',
								'u',
								'v',
								'w',
								'x',
								'y',
								'z',
								'0',
								'1',
								'2',
								'3',
								'4',
								'5',
								'6',
								'7',
								'8',
								'9',
								'+',
								'/'
							],
							i = [];
						for (r = 0; r < n.length; r += 1) i[n[r]] = r;
						var o = function (r) {
								(e = r), (t = 0);
							},
							s = function () {
								if (!e) return -1;
								if (t >= e.length) return -1;
								var r = 255 & e.charCodeAt(t);
								return (t += 1), r;
							},
							a = function () {
								if (!e) return -1;
								for (;;) {
									if (t >= e.length) return -1;
									var r = e.charAt(t);
									if (((t += 1), i[r])) return i[r];
									if ('A' === r) return 0;
								}
							},
							u = function (e) {
								return 1 === (e = e.toString(16)).length && (e = '0' + e), (e = '%' + e), unescape(e);
							};
						return {
							encodeBase64: function (e) {
								var t, r;
								o(e), (t = '');
								var i = new Array(3);
								for (r = !1; !r && -1 !== (i[0] = s()); )
									(i[1] = s()),
										(i[2] = s()),
										(t += n[i[0] >> 2]),
										-1 !== i[1]
											? ((t += n[((i[0] << 4) & 48) | (i[1] >> 4)]),
											  -1 !== i[2] ? ((t += n[((i[1] << 2) & 60) | (i[2] >> 6)]), (t += n[63 & i[2]])) : ((t += n[(i[1] << 2) & 60]), (t += '='), (r = !0)))
											: ((t += n[(i[0] << 4) & 48]), (t += '='), (t += '='), (r = !0));
								return t;
							},
							decodeBase64: function (e) {
								var t, r;
								o(e), (t = '');
								var n = new Array(4);
								for (r = !1; !r && -1 !== (n[0] = a()) && -1 !== (n[1] = a()); )
									(n[2] = a()),
										(n[3] = a()),
										(t += u(((n[0] << 2) & 255) | (n[1] >> 4))),
										-1 !== n[2] ? ((t += u(((n[1] << 4) & 255) | (n[2] >> 2))), -1 !== n[3] ? (t += u(((n[2] << 6) & 255) | n[3])) : (r = !0)) : (r = !0);
								return t;
							}
						};
					})();
					r.Base64 = n;
				},
				{}
			],
			17: [
				function (e, t, r) {
					'use strict';
					var n = e('@babel/runtime/helpers/interopRequireDefault');
					Object.defineProperty(r, '__esModule', { value: !0 }),
						(r.VideoEncodingParameters = r.VideoCodecParameters = r.VideoCodec = r.AudioEncodingParameters = r.AudioCodecParameters = r.AudioCodec = void 0);
					var i = n(e('@babel/runtime/helpers/createClass')),
						o = n(e('@babel/runtime/helpers/classCallCheck'));
					r.AudioCodec = { PCMU: 'pcmu', PCMA: 'pcma', OPUS: 'opus', G722: 'g722', ISAC: 'iSAC', ILBC: 'iLBC', AAC: 'aac', AC3: 'ac3', NELLYMOSER: 'nellymoser' };
					var s = (0, i.default)(function e(t, r, n) {
						(0, o.default)(this, e), (this.name = t), (this.channelCount = r), (this.clockRate = n);
					});
					r.AudioCodecParameters = s;
					var a = (0, i.default)(function e(t, r, n) {
						(0, o.default)(this, e), (this.codec = t), (this.minBitrate = n), (this.maxBitrate = r), (this.startBitrate = startBitrate);
					});
					r.AudioEncodingParameters = a;
					r.VideoCodec = { VP8: 'vp8', VP9: 'vp9', H264: 'h264', H265: 'h265' };
					var u = (0, i.default)(function e(t, r) {
						(0, o.default)(this, e), (this.name = t), (this.profile = r);
					});
					r.VideoCodecParameters = u;
					var c = (0, i.default)(function e(t, r, n, i) {
						(0, o.default)(this, e), (this.codec = t), (this.minBitrate = n), (this.maxBitrate = r), (this.startBitrate = i);
					});
					r.VideoEncodingParameters = c;
				},
				{ '@babel/runtime/helpers/classCallCheck': 2, '@babel/runtime/helpers/createClass': 4, '@babel/runtime/helpers/interopRequireDefault': 7 }
			],
			18: [
				function (e, t, r) {
					'use strict';
					var n = e('@babel/runtime/helpers/interopRequireDefault');
					Object.defineProperty(r, '__esModule', { value: !0 }), (r.MuteEvent = r.MessageEvent = r.IRtcEvent = r.EventDispatcher = r.ErrorEvent = void 0);
					var i = n(e('@babel/runtime/helpers/inherits')),
						o = n(e('@babel/runtime/helpers/possibleConstructorReturn')),
						s = n(e('@babel/runtime/helpers/getPrototypeOf')),
						a = n(e('@babel/runtime/helpers/createClass')),
						u = n(e('@babel/runtime/helpers/classCallCheck'));
					function c(e) {
						var t = (function () {
							if ('undefined' == typeof Reflect || !Reflect.construct) return !1;
							if (Reflect.construct.sham) return !1;
							if ('function' == typeof Proxy) return !0;
							try {
								return Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})), !0;
							} catch (e) {
								return !1;
							}
						})();
						return function () {
							var r,
								n = (0, s.default)(e);
							if (t) {
								var i = (0, s.default)(this).constructor;
								r = Reflect.construct(n, arguments, i);
							} else r = n.apply(this, arguments);
							return (0, o.default)(this, r);
						};
					}
					r.EventDispatcher = function () {
						var e = { dispatcher: {} };
						(e.dispatcher.eventListeners = {}),
							(this.addEventListener = function (t, r) {
								void 0 === e.dispatcher.eventListeners[t] && (e.dispatcher.eventListeners[t] = []), e.dispatcher.eventListeners[t].push(r);
							}),
							(this.removeEventListener = function (t, r) {
								if (e.dispatcher.eventListeners[t]) {
									var n = e.dispatcher.eventListeners[t].indexOf(r);
									-1 !== n && e.dispatcher.eventListeners[t].splice(n, 1);
								}
							}),
							(this.clearEventListener = function (t) {
								e.dispatcher.eventListeners[t] = [];
							}),
							(this.dispatchEvent = function (t) {
								e.dispatcher.eventListeners[t.type] &&
									e.dispatcher.eventListeners[t.type].map(function (e) {
										e(t);
									});
							});
					};
					var f = (0, a.default)(function e(t) {
						(0, u.default)(this, e), (this.type = t);
					});
					r.IRtcEvent = f;
					var l = (function (e) {
						(0, i.default)(r, e);
						var t = c(r);
						function r(e, n) {
							var i;
							return (0, u.default)(this, r), ((i = t.call(this, e)).origin = n.origin), (i.message = n.message), (i.to = n.to), i;
						}
						return (0, a.default)(r);
					})(f);
					r.MessageEvent = l;
					var h = (function (e) {
						(0, i.default)(r, e);
						var t = c(r);
						function r(e, n) {
							var i;
							return (0, u.default)(this, r), ((i = t.call(this, e)).error = n.error), i;
						}
						return (0, a.default)(r);
					})(f);
					r.ErrorEvent = h;
					var p = (function (e) {
						(0, i.default)(r, e);
						var t = c(r);
						function r(e, n) {
							var i;
							return (0, u.default)(this, r), ((i = t.call(this, e)).kind = n.kind), i;
						}
						return (0, a.default)(r);
					})(f);
					r.MuteEvent = p;
				},
				{
					'@babel/runtime/helpers/classCallCheck': 2,
					'@babel/runtime/helpers/createClass': 4,
					'@babel/runtime/helpers/getPrototypeOf': 5,
					'@babel/runtime/helpers/inherits': 6,
					'@babel/runtime/helpers/interopRequireDefault': 7,
					'@babel/runtime/helpers/possibleConstructorReturn': 10
				}
			],
			19: [
				function (e, t, r) {
					'use strict';
					Object.defineProperty(r, '__esModule', { value: !0 });
					var n = e('./mediastream-factory.js');
					Object.keys(n).forEach(function (e) {
						'default' !== e &&
							'__esModule' !== e &&
							((e in r && r[e] === n[e]) ||
								Object.defineProperty(r, e, {
									enumerable: !0,
									get: function () {
										return n[e];
									}
								}));
					});
					var i = e('./stream.js');
					Object.keys(i).forEach(function (e) {
						'default' !== e &&
							'__esModule' !== e &&
							((e in r && r[e] === i[e]) ||
								Object.defineProperty(r, e, {
									enumerable: !0,
									get: function () {
										return i[e];
									}
								}));
					});
					var o = e('./mediaformat.js');
					Object.keys(o).forEach(function (e) {
						'default' !== e &&
							'__esModule' !== e &&
							((e in r && r[e] === o[e]) ||
								Object.defineProperty(r, e, {
									enumerable: !0,
									get: function () {
										return o[e];
									}
								}));
					});
					var s = e('./recorder.js');
					Object.keys(s).forEach(function (e) {
						'default' !== e &&
							'__esModule' !== e &&
							((e in r && r[e] === s[e]) ||
								Object.defineProperty(r, e, {
									enumerable: !0,
									get: function () {
										return s[e];
									}
								}));
					});
				},
				{ './mediaformat.js': 21, './mediastream-factory.js': 22, './recorder.js': 24, './stream.js': 26 }
			],
			20: [
				function (e, t, r) {
					'use strict';
					Object.defineProperty(r, '__esModule', { value: !0 }), (r.default = void 0);
					var n = (function () {
						var e = function () {},
							t = { TRACE: 0, DEBUG: 1, INFO: 2, WARNING: 3, ERROR: 4, NONE: 5 },
							r = console || window.console;
						t.log = r.log.bind(r);
						var n = function (e) {
								return 'function' == typeof r[e] ? r[e].bind(r) : r.log.bind(r);
							},
							i = function (r) {
								(t.trace = r <= 0 ? n('trace') : e),
									(t.debug = r <= 1 ? n('log') : e),
									(t.info = r <= 2 ? n('info') : e),
									(t.warning = r <= 3 ? n('warn') : e),
									(t.error = r <= 4 ? n('error') : e);
							};
						return i(1), (t.setLogLevel = i), t;
					})();
					r.default = n;
				},
				{}
			],
			21: [
				function (e, t, r) {
					'use strict';
					var n = e('@babel/runtime/helpers/interopRequireDefault');
					Object.defineProperty(r, '__esModule', { value: !0 }), (r.VideoSourceInfo = r.TrackKind = r.ScreenType = r.Resolution = r.AudioSourceInfo = void 0);
					var i = n(e('@babel/runtime/helpers/createClass')),
						o = n(e('@babel/runtime/helpers/classCallCheck'));
					r.AudioSourceInfo = { MIC: 'mic', SCREENCAST: 'screen-cast', FILE: 'raw-file', MIXED: 'mixed' };
					r.VideoSourceInfo = { CAMERA: 'camera', SCREENCAST: 'screen-cast', FILE: 'file', MIXED: 'mixed' };
					r.TrackKind = { AUDIO: 'audio', VIDEO: 'video', AUDIO_AND_VIDEO: 'av' };
					var s = (0, i.default)(function e(t, r) {
						(0, o.default)(this, e), (this.width = t), (this.height = r);
					});
					r.Resolution = s;
					r.ScreenType = { SCREEN: 'screen', WINDOW: 'window', TAB: 'tab' };
				},
				{ '@babel/runtime/helpers/classCallCheck': 2, '@babel/runtime/helpers/createClass': 4, '@babel/runtime/helpers/interopRequireDefault': 7 }
			],
			22: [
				function (e, t, r) {
					'use strict';
					var n = e('@babel/runtime/helpers/interopRequireDefault'),
						i = e('@babel/runtime/helpers/typeof');
					Object.defineProperty(r, '__esModule', { value: !0 }), (r.VideoTrackConstraints = r.StreamConstraints = r.MediaStreamFactory = r.AudioTrackConstraints = void 0);
					var o = n(e('@babel/runtime/helpers/typeof')),
						s = n(e('@babel/runtime/helpers/createClass')),
						a = n(e('@babel/runtime/helpers/classCallCheck')),
						u = h(e('./utils.js')),
						c = n(e('./logger.js')),
						f = h(e('./mediaformat.js'));
					function l(e) {
						if ('function' != typeof WeakMap) return null;
						var t = new WeakMap(),
							r = new WeakMap();
						return (l = function (e) {
							return e ? r : t;
						})(e);
					}
					function h(e, t) {
						if (!t && e && e.__esModule) return e;
						if (null === e || ('object' !== i(e) && 'function' != typeof e)) return { default: e };
						var r = l(t);
						if (r && r.has(e)) return r.get(e);
						var n = {},
							o = Object.defineProperty && Object.getOwnPropertyDescriptor;
						for (var s in e)
							if ('default' !== s && Object.prototype.hasOwnProperty.call(e, s)) {
								var a = o ? Object.getOwnPropertyDescriptor(e, s) : null;
								a && (a.get || a.set) ? Object.defineProperty(n, s, a) : (n[s] = e[s]);
							}
						return (n.default = e), r && r.set(e, n), n;
					}
					var p = (0, s.default)(function e(t) {
						if (((0, a.default)(this, e), t !== f.AudioSourceInfo.MIC && t !== f.AudioSourceInfo.SCREENCAST && t !== f.AudioSourceInfo.FILE && t !== f.AudioSourceInfo.MIXED))
							throw new TypeError('Invalid source.');
						(this.source = t), (this.deviceId = void 0), (this.file = void 0), (this.loop = void 0);
					});
					r.AudioTrackConstraints = p;
					var d = (0, s.default)(function e(t) {
						if (((0, a.default)(this, e), t !== f.VideoSourceInfo.CAMERA && t !== f.VideoSourceInfo.SCREENCAST && t !== f.VideoSourceInfo.FILE && t !== f.VideoSourceInfo.MIXED))
							throw new TypeError('Invalid source.');
						(this.source = t), (this.deviceId = void 0), (this.resolution = void 0), (this.frameRate = void 0), (this.allowScreenTypes = void 0);
					});
					r.VideoTrackConstraints = d;
					var v = (0, s.default)(function e() {
						var t = arguments.length > 0 && void 0 !== arguments[0] && arguments[0],
							r = arguments.length > 1 && void 0 !== arguments[1] && arguments[1];
						(0, a.default)(this, e), (this.audio = t), (this.video = r);
					});
					function y(e) {
						return 'object' === (0, o.default)(e.video) && e.video.source === f.VideoSourceInfo.SCREENCAST;
					}
					r.StreamConstraints = v;
					var b = (function () {
						function e() {
							(0, a.default)(this, e);
						}
						return (
							(0, s.default)(e, null, [
								{
									key: 'createMediaStream',
									value: function (e) {
										if ('object' !== (0, o.default)(e) || (!e.audio && !e.video)) return Promise.reject(new TypeError('Invalid constrains'));
										if (!y(e) && 'object' === (0, o.default)(e.audio) && e.audio.source === f.AudioSourceInfo.SCREENCAST)
											return Promise.reject(new TypeError('Cannot share screen without video.'));
										if (
											(y(e) &&
												u.isChrome() &&
												(!u.sysInfo().runtime.version || u.sysInfo().runtime.version < '72') &&
												(c.default.warning('Screen sharing can not support Chrome version prior to 72,need Extension while Chrome version is below 72'),
												c.default.info(u.sysInfo().runtime.version)),
											y(e) && u.isFirefox() && (!u.sysInfo().runtime.version || u.sysInfo().runtime.version < 66))
										)
											return Promise.reject(new TypeError('Screen sharing can not support Firefox version prior to 66'));
										if (y(e) && u.isSafari() && (!u.sysInfo().runtime.version || u.sysInfo().runtime.version < 13))
											return Promise.reject(new TypeError('Screen sharing can not support Safari version prior to 13'));
										if (y(e) && 'object' === (0, o.default)(e.audio) && e.audio.source !== f.AudioSourceInfo.SCREENCAST)
											return Promise.reject(new TypeError('Cannot capture video from screen cast while capture audio from other source.'));
										if (!e.audio && !e.video) return Promise.reject(new TypeError('At least one of audio and video must be requested.'));
										var t = Object.create({});
										if (
											('object' === (0, o.default)(e.audio) && e.audio.source === f.AudioSourceInfo.MIC
												? ((t.audio = Object.create({})), u.isEdge() ? (t.audio.deviceId = e.audio.deviceId) : (t.audio.deviceId = { exact: e.audio.deviceId }))
												: e.audio.source === f.AudioSourceInfo.SCREENCAST
												? (t.audio = !0)
												: e.audio.source === f.AudioSourceInfo.FILE
												? (t.audio = !1)
												: (t.audio = e.audio),
											'object' === (0, o.default)(e.video)
												? ((t.video = Object.create({})),
												  'number' == typeof e.video.frameRate && (t.video.frameRate = e.video.frameRate),
												  e.video.resolution &&
														e.video.resolution.width &&
														e.video.resolution.height &&
														(e.video.source === f.VideoSourceInfo.SCREENCAST
															? ((t.video.width = e.video.resolution.width), (t.video.height = e.video.resolution.height))
															: ((t.video.width = Object.create({})),
															  (t.video.width.exact = e.video.resolution.width),
															  (t.video.height = Object.create({})),
															  (t.video.height.exact = e.video.resolution.height))),
												  'string' == typeof e.video.deviceId && (t.video.deviceId = { exact: e.video.deviceId }),
												  u.isFirefox() && e.video.source === f.VideoSourceInfo.SCREENCAST && (t.video.mediaSource = 'screen'))
												: (t.video = e.video),
											y(e))
										) {
											if ((c.default.info('screen share mediaConstraints', e), u.isChrome() && 'function' != typeof navigator.mediaDevices.getDisplayMedia)) {
												if (!e.extensionId) return Promise.reject(new TypeError('Extension ID must be specified for screen sharing on Chrome.'));
												var r = ['screen', 'window', 'tab'];
												return (
													e.audio && r.push('audio'),
													new Promise(function (t, n) {
														chrome.runtime.sendMessage(e.extensionId, { getStream: r }, function (r) {
															if (void 0 === r) return n(new Error(chrome.runtime.lastError.message));
															e.audio &&
																'object' !== (0, o.default)(r.options) &&
																c.default.warning('Desktop sharing with audio requires the latest Chrome extension. Your audio constraints will be ignored.');
															var i = Object.create({});
															e.audio &&
																'object' === (0, o.default)(r.options) &&
																(r.options.canRequestAudioTrack
																	? (i.audio = { mandatory: { chromeMediaSource: 'desktop', chromeMediaSourceId: r.streamId } })
																	: c.default.warning('Sharing screen with audio was not selected by user.')),
																(i.video = Object.create({})),
																(i.video.mandatory = Object.create({})),
																(i.video.mandatory.chromeMediaSource = 'desktop'),
																(i.video.mandatory.chromeMediaSourceId = r.streamId),
																e.video.resolution &&
																	((i.video.mandatory.maxHeight = i.video.mandatory.minHeight = e.video.resolution.height),
																	(i.video.mandatory.maxWidth = i.video.mandatory.minWidth = e.video.resolution.width)),
																e.video.frameRate && ((i.video.mandatory.minFrameRate = e.video.frameRate), (i.video.mandatory.maxFrameRate = e.video.frameRate)),
																t(navigator.mediaDevices.getUserMedia(i));
														});
													})
												);
											}
											return 'function' == typeof navigator.mediaDevices.getDisplayMedia
												? e.video && e.video.allowScreenTypes && Array.isArray(e.video.allowScreenTypes)
													? new Promise(function (r, n) {
															navigator.mediaDevices
																.getDisplayMedia(t)
																.then(function (t) {
																	if (
																		e.video.allowScreenTypes.includes(f.ScreenType.SCREEN) &&
																		e.video.allowScreenTypes.includes(f.ScreenType.WINDOW) &&
																		e.video.allowScreenTypes.includes(f.ScreenType.TAB)
																	)
																		return r(t);
																	if (t.getVideoTracks().length > 0) {
																		var i = t.getVideoTracks()[0].label;
																		return u.isChrome() || u.isEdge()
																			? (i.match(/^screen/g) && e.video.allowScreenTypes.includes(f.ScreenType.SCREEN)) ||
																			  (i.match(/^window/g) && e.video.allowScreenTypes.includes(f.ScreenType.WINDOW)) ||
																			  (i.match(/^web\-contents\-media\-stream/g) && e.video.allowScreenTypes.includes(f.ScreenType.TAB))
																				? r(t)
																				: (t.getTracks().forEach(function (e) {
																						e.stop();
																				  }),
																				  n('You do not have permission to create this type of media stream.'))
																			: u.isFirefox()
																			? (i.match(/^Primary Monitor/g) && e.video.allowScreenTypes.includes(f.ScreenType.SCREEN)) ||
																			  (!i.match(/^Primary Monitor/g) &&
																					!i.match(/— Mozilla Firefox$/g) &&
																					e.video.allowScreenTypes.includes(f.ScreenType.WINDOW)) ||
																			  (i.match(/— Mozilla Firefox$/g) && e.video.allowScreenTypes.includes(f.ScreenType.TAB))
																				? r(t)
																				: (t.getTracks().forEach(function (e) {
																						e.stop();
																				  }),
																				  n('You do not have permission to create this type of media stream.'))
																			: u.isSafari()
																			? i.match(/^Screen/g) && e.video.allowScreenTypes.includes(f.ScreenType.SCREEN)
																				? r(t)
																				: (t.getTracks().forEach(function (e) {
																						e.stop();
																				  }),
																				  n('You do not have permission to create this type of media stream.'))
																			: (c.default.warning('unsupported allowScreenTypes on this browser.'), r(t));
																	}
																	return r(t);
																})
																.catch(function (e) {
																	return n(e);
																});
													  })
													: navigator.mediaDevices.getDisplayMedia(t)
												: navigator.mediaDevices.getUserMedia(t);
										}
										var n = navigator.mediaDevices.getUserMedia(t);
										if (e.audio.source === f.AudioSourceInfo.FILE) {
											c.default.debug('createMediaStream FILE');
											var i = window.AudioContext || window.webkitAudioContext || !1;
											if (i) {
												var s = new i(),
													a = s.createMediaStreamDestination(),
													l = s.createBufferSource(),
													h = a.stream,
													p = new FileReader();
												(p.onload = function (t) {
													s.decodeAudioData(t.target.result, function (t) {
														var r = t;
														(l.buffer = r), l.connect(a), (l.loop = e.audio.loop), l.start(0);
													});
												}),
													p.readAsArrayBuffer(e.audio.file),
													n.then(function (e) {
														e.addTrack(h.getAudioTracks()[0]);
													});
											}
										}
										return n;
									}
								}
							]),
							e
						);
					})();
					r.MediaStreamFactory = b;
				},
				{
					'./logger.js': 20,
					'./mediaformat.js': 21,
					'./utils.js': 27,
					'@babel/runtime/helpers/classCallCheck': 2,
					'@babel/runtime/helpers/createClass': 4,
					'@babel/runtime/helpers/interopRequireDefault': 7,
					'@babel/runtime/helpers/typeof': 12
				}
			],
			23: [
				function (e, t, r) {
					'use strict';
					var n = e('@babel/runtime/helpers/interopRequireDefault'),
						i = e('@babel/runtime/helpers/typeof');
					Object.defineProperty(r, '__esModule', { value: !0 }),
						(r.VideoPublicationSettings = r.PublishOptions = r.PublicationSettings = r.Publication = r.AudioPublicationSettings = void 0);
					var o = n(e('@babel/runtime/helpers/assertThisInitialized')),
						s = n(e('@babel/runtime/helpers/inherits')),
						a = n(e('@babel/runtime/helpers/possibleConstructorReturn')),
						u = n(e('@babel/runtime/helpers/getPrototypeOf')),
						c = n(e('@babel/runtime/helpers/createClass')),
						f = n(e('@babel/runtime/helpers/classCallCheck')),
						l = d(e('./utils.js')),
						h = (d(e('./mediaformat.js')), e('../base/event.js'));
					function p(e) {
						if ('function' != typeof WeakMap) return null;
						var t = new WeakMap(),
							r = new WeakMap();
						return (p = function (e) {
							return e ? r : t;
						})(e);
					}
					function d(e, t) {
						if (!t && e && e.__esModule) return e;
						if (null === e || ('object' !== i(e) && 'function' != typeof e)) return { default: e };
						var r = p(t);
						if (r && r.has(e)) return r.get(e);
						var n = {},
							o = Object.defineProperty && Object.getOwnPropertyDescriptor;
						for (var s in e)
							if ('default' !== s && Object.prototype.hasOwnProperty.call(e, s)) {
								var a = o ? Object.getOwnPropertyDescriptor(e, s) : null;
								a && (a.get || a.set) ? Object.defineProperty(n, s, a) : (n[s] = e[s]);
							}
						return (n.default = e), r && r.set(e, n), n;
					}
					function v(e) {
						var t = (function () {
							if ('undefined' == typeof Reflect || !Reflect.construct) return !1;
							if (Reflect.construct.sham) return !1;
							if ('function' == typeof Proxy) return !0;
							try {
								return Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})), !0;
							} catch (e) {
								return !1;
							}
						})();
						return function () {
							var r,
								n = (0, u.default)(e);
							if (t) {
								var i = (0, u.default)(this).constructor;
								r = Reflect.construct(n, arguments, i);
							} else r = n.apply(this, arguments);
							return (0, a.default)(this, r);
						};
					}
					var y = (0, c.default)(function e(t) {
						(0, f.default)(this, e), (this.codec = t);
					});
					r.AudioPublicationSettings = y;
					var b = (0, c.default)(function e(t, r, n, i, o) {
						(0, f.default)(this, e), (this.codec = t), (this.resolution = r), (this.frameRate = n), (this.bitrate = i), (this.keyFrameInterval = o);
					});
					r.VideoPublicationSettings = b;
					var m = (0, c.default)(function e(t, r) {
						(0, f.default)(this, e), (this.audio = t), (this.video = r);
					});
					r.PublicationSettings = m;
					var g = (function (e) {
						(0, s.default)(r, e);
						var t = v(r);
						function r(e, n, i, s, a, u, c, h) {
							var p;
							return (
								(0, f.default)(this, r),
								(p = t.call(this)),
								Object.defineProperty((0, o.default)(p), 'id', { configurable: !1, writable: !1, value: e || l.createUuid() }),
								(p.stop = n),
								(p.getStats = i),
								(p.getConnectionStats = s),
								(p.getPCSenders = a),
								(p.mute = u),
								(p.unmute = c),
								(p.updateMedia = h),
								p
							);
						}
						return (0, c.default)(r);
					})(h.EventDispatcher);
					r.Publication = g;
					var w = (0, c.default)(function e(t, r) {
						(0, f.default)(this, e), (this.audio = t), (this.video = r);
					});
					r.PublishOptions = w;
				},
				{
					'../base/event.js': 18,
					'./mediaformat.js': 21,
					'./utils.js': 27,
					'@babel/runtime/helpers/assertThisInitialized': 1,
					'@babel/runtime/helpers/classCallCheck': 2,
					'@babel/runtime/helpers/createClass': 4,
					'@babel/runtime/helpers/getPrototypeOf': 5,
					'@babel/runtime/helpers/inherits': 6,
					'@babel/runtime/helpers/interopRequireDefault': 7,
					'@babel/runtime/helpers/possibleConstructorReturn': 10,
					'@babel/runtime/helpers/typeof': 12
				}
			],
			24: [
				function (e, t, r) {
					'use strict';
					var n = e('@babel/runtime/helpers/interopRequireDefault'),
						i = e('@babel/runtime/helpers/typeof');
					Object.defineProperty(r, '__esModule', { value: !0 }), (r.Recorder = r.RecordOptions = r.LocalRecorder = void 0);
					var o = n(e('@babel/runtime/helpers/assertThisInitialized')),
						s = n(e('@babel/runtime/helpers/inherits')),
						a = n(e('@babel/runtime/helpers/possibleConstructorReturn')),
						u = n(e('@babel/runtime/helpers/getPrototypeOf')),
						c = n(e('@babel/runtime/helpers/createClass')),
						f = n(e('@babel/runtime/helpers/classCallCheck')),
						l = n(e('./logger.js')),
						h = y(e('../base/event.js')),
						p = y(e('../base/stream.js')),
						d = e('./event.js');
					function v(e) {
						if ('function' != typeof WeakMap) return null;
						var t = new WeakMap(),
							r = new WeakMap();
						return (v = function (e) {
							return e ? r : t;
						})(e);
					}
					function y(e, t) {
						if (!t && e && e.__esModule) return e;
						if (null === e || ('object' !== i(e) && 'function' != typeof e)) return { default: e };
						var r = v(t);
						if (r && r.has(e)) return r.get(e);
						var n = {},
							o = Object.defineProperty && Object.getOwnPropertyDescriptor;
						for (var s in e)
							if ('default' !== s && Object.prototype.hasOwnProperty.call(e, s)) {
								var a = o ? Object.getOwnPropertyDescriptor(e, s) : null;
								a && (a.get || a.set) ? Object.defineProperty(n, s, a) : (n[s] = e[s]);
							}
						return (n.default = e), r && r.set(e, n), n;
					}
					function b(e) {
						var t = (function () {
							if ('undefined' == typeof Reflect || !Reflect.construct) return !1;
							if (Reflect.construct.sham) return !1;
							if ('function' == typeof Proxy) return !0;
							try {
								return Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})), !0;
							} catch (e) {
								return !1;
							}
						})();
						return function () {
							var r,
								n = (0, u.default)(e);
							if (t) {
								var i = (0, u.default)(this).constructor;
								r = Reflect.construct(n, arguments, i);
							} else r = n.apply(this, arguments);
							return (0, a.default)(this, r);
						};
					}
					var m = (0, c.default)(function e(t, r, n) {
						(0, f.default)(this, e), (this.mimeType = t), (this.audioBitsPerSecond = r), (this.videoBitsPerSecond = n);
					});
					r.RecordOptions = m;
					var g = (function (e) {
						(0, s.default)(r, e);
						var t = b(r);
						function r(e, n) {
							var i;
							if (((0, f.default)(this, r), (i = t.call(this)), !(e && e instanceof p.Stream))) throw new TypeError('Invalid stream.');
							if (!(n && n instanceof m)) throw new TypeError('Invalid options.');
							return (
								Object.defineProperty((0, o.default)(i), 'stream', { configurable: !1, writable: !0, value: e }),
								Object.defineProperty((0, o.default)(i), 'options', { configurable: !1, writable: !1, value: n }),
								(i.start = function () {
									(i.blobs = []),
										void 0 === i.mediaRecorder &&
											((i.mediaRecorder = new MediaRecorder(i.stream.mediaStream, i.options)),
											(i.mediaRecorder.ondataavailable = function (e) {
												e.data && e.data.size > 0 && (i.blobs.push(e.data), l.default.trace('onstart recording...'));
											}),
											(i.mediaRecorder.onstart = function () {
												l.default.debug('onstart recording...');
												var e = new h.IRtcEvent('onstart');
												i.dispatchEvent(e);
											}),
											(i.mediaRecorder.onstop = function (e) {
												l.default.debug('onstop recording:', e);
												var t = new h.IRtcEvent('onstop');
												i.dispatchEvent(t);
											}),
											(i.mediaRecorder.onpause = function () {
												l.default.debug('onpause recording...');
												var e = new h.IRtcEvent('onpause');
												i.dispatchEvent(e);
											}),
											(i.mediaRecorder.onresume = function () {
												l.default.debug('onresume recording...');
												var e = new h.IRtcEvent('onresume');
												i.dispatchEvent(e);
											}),
											(i.mediaRecorder.onerror = function (e) {
												l.default.debug('onerror recording:', e);
												var t = new h.IRtcEvent('onerror');
												i.dispatchEvent(t);
											})),
										'recording' !== i.mediaRecorder.state && 'paused' !== i.mediaRecorder.state && i.mediaRecorder.start();
								}),
								(i.pause = function () {
									i.mediaRecorder && i.mediaRecorder.pause();
								}),
								(i.resume = function () {
									i.mediaRecorder && 'paused' === i.mediaRecorder.state && i.mediaRecorder.resume();
								}),
								(i.stop = function () {
									i.mediaRecorder && 'inactive' !== i.mediaRecorder.state && i.mediaRecorder.stop();
								}),
								(i.restart = function () {
									i.resume(), i.stop(), i.start();
								}),
								(i.download = function (e) {
									var t = new Blob(i.blobs, { type: i.options.mimeType }),
										r = document.createElement('a');
									r.style.display = 'none';
									var n = URL.createObjectURL(t);
									(r.href = n),
										(r.download = Date.now() + e + '.webm'),
										document.body.appendChild(r),
										r.click(),
										setTimeout(function () {
											URL.revokeObjectURL(n), document.body.removeChild(r);
										}, 100);
								}),
								i
							);
						}
						return (
							(0, c.default)(r, null, [
								{
									key: 'isTypeSupported',
									value: function (e) {
										return MediaRecorder.isTypeSupported(e);
									}
								},
								{
									key: 'getSupportedType',
									value: function () {
										return [
											'video/webm',
											'audio/webm',
											'video/webm;codecs=vp8',
											'video/webm;codecs=vp9',
											'video/webm;codecs=daala',
											'video/webm;codecs=h264',
											'video/webm;codecs=avc1',
											'audio/webm;codecs=opus',
											'video/mpeg',
											'video/webm;codecs=vp8,opus',
											'video/webm;codecs=vp9,opus',
											'video/webm;codecs=vp8,vp9,opus',
											'video/webm;codecs=h264,opus',
											'video/webm;codecs=h264,vp9,opus',
											'video/x-matroska;codecs=avc1'
										].filter(function (e) {
											return MediaRecorder.isTypeSupported(e);
										});
									}
								}
							]),
							r
						);
					})(d.EventDispatcher);
					r.LocalRecorder = g;
					var w = (function (e) {
						(0, s.default)(r, e);
						var t = b(r);
						function r(e, n, i) {
							if (((0, f.default)(this, r), !e && !n)) throw new TypeError('Invalid stream.');
							if (!(i && i instanceof m)) throw new TypeError('Invalid options.');
							var o = window.AudioContext || window.webkitAudioContext || !1;
							if (!o) throw new TypeError('Invalid AudioContext.');
							var s = new o(),
								a = s.createMediaStreamDestination(),
								u = new MediaStream(),
								c = a.stream;
							n.forEach(function (e) {
								s.createMediaStreamSource(e.mediaStream).connect(a);
							}),
								u.addTrack(c.getAudioTracks()[0]),
								u.addTrack(e.mediaStream.getVideoTracks()[0]);
							var l = new LocalStream(u, new StreamSourceInfo('mic', 'camera'));
							return t.call(this, l, i);
						}
						return (0, c.default)(r);
					})(g);
					r.Recorder = w;
				},
				{
					'../base/event.js': 18,
					'../base/stream.js': 26,
					'./event.js': 18,
					'./logger.js': 20,
					'@babel/runtime/helpers/assertThisInitialized': 1,
					'@babel/runtime/helpers/classCallCheck': 2,
					'@babel/runtime/helpers/createClass': 4,
					'@babel/runtime/helpers/getPrototypeOf': 5,
					'@babel/runtime/helpers/inherits': 6,
					'@babel/runtime/helpers/interopRequireDefault': 7,
					'@babel/runtime/helpers/possibleConstructorReturn': 10,
					'@babel/runtime/helpers/typeof': 12
				}
			],
			25: [
				function (e, t, r) {
					'use strict';
					var n = e('@babel/runtime/helpers/interopRequireDefault');
					Object.defineProperty(r, '__esModule', { value: !0 }),
						(r.enableAudioNack = function (e) {
							var t = e.split('\r\n'),
								r = f(t, 'm=', 'audio');
							if (null == r) return e;
							var n = f(t, 'm=', 'video'),
								i = n;
							(null == n || n < r) && (i = t.length);
							for (var o = r; o < i; ++o)
								if (0 === t[o].indexOf('a=rtpmap')) {
									var s = h(t[o]);
									null == f(t, 'a=rtcp-fb:' + s + ' ', 'nack') && (t.splice(o + 1, 0, 'a=rtcp-fb:' + s + ' nack'), i++, o++);
								}
							return (e = t.join('\r\n'));
						}),
						(r.reorderCodecs = function (e, t, r) {
							if (!r || 0 === r.length) return e;
							r = 'audio' === t ? r.concat(p) : r.concat(d);
							var n = e.split('\r\n'),
								o = f(n, 'm=', t);
							if (null === o) return e;
							var s = n[o].split(' ');
							s.splice(0, 3);
							var u,
								c = [],
								y = i(r);
							try {
								for (y.s(); !(u = y.n()).done; )
									for (var b = u.value, m = 0; m < n.length; m++) {
										var g = l(n, m, -1, 'a=rtpmap', b);
										if (null !== g) {
											var w = h(n[g]);
											w && (c.push(w), (m = g));
										}
									}
							} catch (e) {
								y.e(e);
							} finally {
								y.f();
							}
							(c = (function (e, t) {
								var r,
									n = i(t);
								try {
									for (n.s(); !(r = n.n()).done; ) {
										var o = r.value,
											s = f(e, 'a=fmtp', 'apt=' + o);
										if (null !== s) {
											var u = a(e[s]);
											t.push(u.pt);
										}
									}
								} catch (e) {
									n.e(e);
								} finally {
									n.f();
								}
								return t;
							})(n, c)),
								(n[o] = (function (e, t) {
									var r = e.split(' ').slice(0, 3);
									return (r = r.concat(t)).join(' ');
								})(n[o], c));
							var _,
								k = i(s);
							try {
								for (k.s(); !(_ = k.n()).done; ) {
									var E = _.value;
									-1 === c.indexOf(E) && (n = v(n, E));
								}
							} catch (e) {
								k.e(e);
							} finally {
								k.f();
							}
							return (e = n.join('\r\n'));
						}),
						(r.setMaxBitrate = function (e, t) {
							var r,
								n = i(t);
							try {
								for (n.s(); !(r = n.n()).done; ) {
									var o = r.value;
									o.maxBitrate && (e = s(e, o.codec.name, 'x-google-max-bitrate', o.maxBitrate.toString()));
								}
							} catch (e) {
								n.e(e);
							} finally {
								n.f();
							}
							return e;
						}),
						(r.setMinBitrate = function (e, t) {
							var r,
								n = i(t);
							try {
								for (n.s(); !(r = n.n()).done; ) {
									var o = r.value;
									o.minBitrate && (e = s(e, o.codec.name, 'x-google-min-bitrate', o.minBitrate.toString()));
								}
							} catch (e) {
								n.e(e);
							} finally {
								n.f();
							}
							return e;
						}),
						(r.setStartBitrate = function (e, t) {
							var r,
								n = i(t);
							try {
								for (n.s(); !(r = n.n()).done; ) {
									var o = r.value;
									o.startBitrate && (e = s(e, o.codec.name, 'x-google-start-bitrate', o.startBitrate.toString()));
								}
							} catch (e) {
								n.e(e);
							} finally {
								n.f();
							}
							return e;
						});
					n(e('./logger.js'));
					function i(e, t) {
						var r = ('undefined' != typeof Symbol && e[Symbol.iterator]) || e['@@iterator'];
						if (!r) {
							if (
								Array.isArray(e) ||
								(r = (function (e, t) {
									if (!e) return;
									if ('string' == typeof e) return o(e, t);
									var r = Object.prototype.toString.call(e).slice(8, -1);
									'Object' === r && e.constructor && (r = e.constructor.name);
									if ('Map' === r || 'Set' === r) return Array.from(e);
									if ('Arguments' === r || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)) return o(e, t);
								})(e)) ||
								(t && e && 'number' == typeof e.length)
							) {
								r && (e = r);
								var n = 0,
									i = function () {};
								return {
									s: i,
									n: function () {
										return n >= e.length ? { done: !0 } : { done: !1, value: e[n++] };
									},
									e: function (e) {
										throw e;
									},
									f: i
								};
							}
							throw new TypeError('Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.');
						}
						var s,
							a = !0,
							u = !1;
						return {
							s: function () {
								r = r.call(e);
							},
							n: function () {
								var e = r.next();
								return (a = e.done), e;
							},
							e: function (e) {
								(u = !0), (s = e);
							},
							f: function () {
								try {
									a || null == r.return || r.return();
								} finally {
									if (u) throw s;
								}
							}
						};
					}
					function o(e, t) {
						(null == t || t > e.length) && (t = e.length);
						for (var r = 0, n = new Array(t); r < t; r++) n[r] = e[r];
						return n;
					}
					function s(e, t, r, n) {
						var i = e.split('\r\n');
						i.length <= 1 && (i = e.split('\n'));
						var o = c(i, t),
							s = {};
						if (null === o) {
							var l = f(i, 'a=rtpmap', t);
							if (null === l) return e;
							var p = h(i[l]);
							(s.pt = p.toString()), (s.params = {}), (s.params[r] = n), i.splice(l + 1, 0, u(s));
						} else ((s = a(i[o])).params[r] = n), (i[o] = u(s));
						return (e = i.join('\r\n'));
					}
					function a(e) {
						var t = {},
							r = e.indexOf(' '),
							n = e.substring(r + 1).split(';'),
							i = new RegExp('a=fmtp:(\\d+)'),
							o = e.match(i);
						if (!o || 2 !== o.length) return null;
						t.pt = o[1];
						for (var s = {}, a = 0; a < n.length; ++a) {
							var u = n[a].split('=');
							2 === u.length && (s[u[0]] = u[1]);
						}
						return (t.params = s), t;
					}
					function u(e) {
						if (!e.hasOwnProperty('pt') || !e.hasOwnProperty('params')) return null;
						var t = e.pt,
							r = e.params,
							n = [],
							i = 0;
						for (var o in r) (n[i] = o + '=' + r[o]), ++i;
						return 0 === i ? null : 'a=fmtp:' + t.toString() + ' ' + n.join(';');
					}
					function c(e, t) {
						var r = (function (e, t) {
							var r = f(e, 'a=rtpmap', t);
							return r ? h(e[r]) : null;
						})(e, t);
						return r ? f(e, 'a=fmtp:' + r.toString()) : null;
					}
					function f(e, t, r) {
						return l(e, 0, -1, t, r);
					}
					function l(e, t, r, n, i) {
						for (var o = -1 !== r ? r : e.length, s = t; s < o; ++s) if (0 === e[s].indexOf(n) && (!i || -1 !== e[s].toLowerCase().indexOf(i.toLowerCase()))) return s;
						return null;
					}
					function h(e) {
						var t = new RegExp('a=rtpmap:(\\d+) [a-zA-Z0-9-]+\\/\\d+'),
							r = e.match(t);
						return r && 2 === r.length ? r[1] : null;
					}
					var p = ['CN', 'telephone-event'],
						d = ['red', 'ulpfec'];
					function v(e, t) {
						for (var r = new RegExp('a=(rtpmap|rtcp-fb|fmtp):' + t + '\\s'), n = e.length - 1; n > 0; n--) e[n].match(r) && e.splice(n, 1);
						return e;
					}
				},
				{ './logger.js': 20, '@babel/runtime/helpers/interopRequireDefault': 7 }
			],
			26: [
				function (e, t, r) {
					'use strict';
					var n = e('@babel/runtime/helpers/interopRequireDefault'),
						i = e('@babel/runtime/helpers/typeof');
					Object.defineProperty(r, '__esModule', { value: !0 }),
						(r.StreamUpdatedEvent = r.StreamSourceInfo = r.StreamEvent = r.Stream = r.RemoteStream = r.LocalStream = r.AsrEvent = void 0);
					var o = n(e('@babel/runtime/helpers/assertThisInitialized')),
						s = n(e('@babel/runtime/helpers/inherits')),
						a = n(e('@babel/runtime/helpers/possibleConstructorReturn')),
						u = n(e('@babel/runtime/helpers/getPrototypeOf')),
						c = n(e('@babel/runtime/helpers/typeof')),
						f = n(e('@babel/runtime/helpers/createClass')),
						l = n(e('@babel/runtime/helpers/classCallCheck')),
						h = n(e('./logger.js')),
						p = e('./event.js'),
						d = b(e('./utils.js')),
						v = b(e('../base/event.js'));
					function y(e) {
						if ('function' != typeof WeakMap) return null;
						var t = new WeakMap(),
							r = new WeakMap();
						return (y = function (e) {
							return e ? r : t;
						})(e);
					}
					function b(e, t) {
						if (!t && e && e.__esModule) return e;
						if (null === e || ('object' !== i(e) && 'function' != typeof e)) return { default: e };
						var r = y(t);
						if (r && r.has(e)) return r.get(e);
						var n = {},
							o = Object.defineProperty && Object.getOwnPropertyDescriptor;
						for (var s in e)
							if ('default' !== s && Object.prototype.hasOwnProperty.call(e, s)) {
								var a = o ? Object.getOwnPropertyDescriptor(e, s) : null;
								a && (a.get || a.set) ? Object.defineProperty(n, s, a) : (n[s] = e[s]);
							}
						return (n.default = e), r && r.set(e, n), n;
					}
					function m(e) {
						var t = (function () {
							if ('undefined' == typeof Reflect || !Reflect.construct) return !1;
							if (Reflect.construct.sham) return !1;
							if ('function' == typeof Proxy) return !0;
							try {
								return Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})), !0;
							} catch (e) {
								return !1;
							}
						})();
						return function () {
							var r,
								n = (0, u.default)(e);
							if (t) {
								var i = (0, u.default)(this).constructor;
								r = Reflect.construct(n, arguments, i);
							} else r = n.apply(this, arguments);
							return (0, a.default)(this, r);
						};
					}
					function g(e, t) {
						return t.some(function (t) {
							return t === e;
						});
					}
					var w = (0, f.default)(function e(t, r) {
						if (((0, l.default)(this, e), 'string' == typeof t || void 0 === t)) {
							if (!g(t, [void 0, 'mic', 'screen-cast', 'raw-file', 'mixed'])) throw new TypeError('Incorrect value for audioSourceInfo.source');
							this.audio = { source: t, status: !!t && 'active' };
						} else {
							if ('object' !== (0, c.default)(t)) throw new TypeError('Incorrect value for audioSourceInfo.source');
							if (!g(t.source, [void 0, 'mic', 'screen-cast', 'raw-file', 'mixed'])) throw new TypeError('Incorrect value for audioSourceInfo.source');
							this.audio = { source: t.source, status: t.status };
						}
						if ('string' == typeof r || void 0 === r) {
							if (!g(r, [void 0, 'camera', 'screen-cast', 'file', 'encoded-file', 'raw-file', 'mixed'])) throw new TypeError('Incorrect value for videoSourceInfo.source');
							this.video = { source: r, status: !!r && 'active' };
						} else {
							if ('object' !== (0, c.default)(r)) throw new TypeError('Incorrect value for videoSourceInfo.source');
							this.video = { source: r.source, status: r.status };
						}
					});
					r.StreamSourceInfo = w;
					var _ = (function (e) {
						(0, s.default)(r, e);
						var t = m(r);
						function r(e, n, i) {
							var s;
							if (((0, l.default)(this, r), (s = t.call(this)), (e && !(e instanceof MediaStream)) || 'object' !== (0, c.default)(n)))
								throw new TypeError('Invalid stream or sourceInfo.');
							if (e && ((e.getAudioTracks().length > 0 && !n.audio) || (e.getVideoTracks().length > 0 && !n.video)))
								throw new TypeError('Missing audio source info or video source info.');
							return (
								Object.defineProperty((0, o.default)(s), 'mediaStream', { configurable: !1, writable: !0, value: e }),
								Object.defineProperty((0, o.default)(s), 'media', { configurable: !1, writable: !1, value: n }),
								Object.defineProperty((0, o.default)(s), 'attributes', { configurable: !0, writable: !1, value: i }),
								(s.disableVideo = function () {
									this.mediaStream.getVideoTracks().forEach(function (e) {
										e.enabled = !1;
									});
								}),
								(s.enableVideo = function () {
									this.mediaStream.getVideoTracks().forEach(function (e) {
										e.enabled = !0;
									});
								}),
								(s.disableAudio = function () {
									this.mediaStream.getAudioTracks().forEach(function (e) {
										e.enabled = !1;
									});
								}),
								(s.enableAudio = function () {
									this.mediaStream.getAudioTracks().forEach(function (e) {
										e.enabled = !0;
									});
								}),
								(s.close = function () {
									this.canvasInterval && (clearInterval(this.canvasInterval), delete this.canvasInterval, delete this.dumyStream),
										this.mediaStream.getTracks().forEach(function (e) {
											e.stop();
										});
								}),
								s
							);
						}
						return (0, f.default)(r);
					})(p.EventDispatcher);
					r.Stream = _;
					var k = (function (e) {
						(0, s.default)(r, e);
						var t = m(r);
						function r(e, n, i, s) {
							var a, u, c;
							if (((0, l.default)(this, r), !(e instanceof MediaStream))) throw new TypeError('Invalid stream.');
							if (s) {
								var f = document.createElement('canvas');
								(f.width = 80), (f.height = 60);
								var p = f.getContext('2d');
								(u = setInterval(function () {
									(p.fillStyle = 'black'), p.fillRect(0, 0, f.width, f.height);
								}, 1e3)),
									(c = f.captureStream(1) || f.mozCaptureStream(1));
								var y = window.AudioContext || window.webkitAudioContext || !1;
								if (y) {
									var b = new y().createMediaStreamDestination().stream;
									c.addTrack(b.getAudioTracks()[0]);
								} else
									h.default.WARNING(
										'Sorry, but the Web Audio API is not supported by your browser. Please, consider upgrading to the latest version or downloading Google Chrome or Mozilla Firefox'
									);
								0 == e.getAudioTracks().length && ((n.audio.source = 'mic'), e.addTrack(c.getAudioTracks()[0])),
									0 == e.getVideoTracks().length && ((n.video.source = 'camera'), e.addTrack(c.getVideoTracks()[0]));
							}
							return (
								(a = t.call(this, e, n, i)),
								s && ((a.canvasInterval = u), (a.dumyStream = c)),
								(e.oninactive = function () {
									var e = new v.IRtcEvent('ended');
									a.dispatchEvent(e);
								}),
								Object.defineProperty((0, o.default)(a), 'id', { configurable: !1, writable: !1, value: d.createUuid() }),
								Object.defineProperty((0, o.default)(a), 'upgradeable', { configurable: !1, writable: !1, value: !!s }),
								a
							);
						}
						return (0, f.default)(r);
					})(_);
					r.LocalStream = k;
					var E = (function (e) {
						(0, s.default)(r, e);
						var t = m(r);
						function r(e, n, i, s, a) {
							var u;
							return (
								(0, l.default)(this, r),
								(u = t.call(this, i, s, a)),
								Object.defineProperty((0, o.default)(u), 'id', { configurable: !1, writable: !1, value: e || d.createUuid() }),
								Object.defineProperty((0, o.default)(u), 'origin', { configurable: !1, writable: !1, value: n }),
								(u.settings = void 0),
								(u.capabilities = void 0),
								u
							);
						}
						return (0, f.default)(r);
					})(_);
					r.RemoteStream = E;
					var S = (function (e) {
						(0, s.default)(r, e);
						var t = m(r);
						function r(e, n) {
							var i;
							return (0, l.default)(this, r), ((i = t.call(this, e)).stream = n.stream), i;
						}
						return (0, f.default)(r);
					})(p.IRtcEvent);
					r.StreamEvent = S;
					var A = (function (e) {
						(0, s.default)(r, e);
						var t = m(r);
						function r(e) {
							var n;
							return (0, l.default)(this, r), ((n = t.call(this, 'updated')).info = e.info), n;
						}
						return (0, f.default)(r);
					})(p.IRtcEvent);
					r.StreamUpdatedEvent = A;
					var C = (function (e) {
						(0, s.default)(r, e);
						var t = m(r);
						function r(e) {
							var n;
							return (0, l.default)(this, r), ((n = t.call(this, 'asr')).info = e.info), n;
						}
						return (0, f.default)(r);
					})(p.IRtcEvent);
					r.AsrEvent = C;
				},
				{
					'../base/event.js': 18,
					'./event.js': 18,
					'./logger.js': 20,
					'./utils.js': 27,
					'@babel/runtime/helpers/assertThisInitialized': 1,
					'@babel/runtime/helpers/classCallCheck': 2,
					'@babel/runtime/helpers/createClass': 4,
					'@babel/runtime/helpers/getPrototypeOf': 5,
					'@babel/runtime/helpers/inherits': 6,
					'@babel/runtime/helpers/interopRequireDefault': 7,
					'@babel/runtime/helpers/possibleConstructorReturn': 10,
					'@babel/runtime/helpers/typeof': 12
				}
			],
			27: [
				function (e, t, r) {
					'use strict';
					var n = e('@babel/runtime/helpers/interopRequireDefault');
					Object.defineProperty(r, '__esModule', { value: !0 }),
						(r.createUuid = function () {
							return 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'.replace(/[xy]/g, function (e) {
								var t = (16 * Math.random()) | 0,
									r = 'x' === e ? t : (3 & t) | 8;
								return r.toString(16);
							});
						}),
						(r.isArray = function (e) {
							return 'object' == (0, i.default)(e) && e.constructor == Array;
						}),
						(r.isChrome = function () {
							return null !== window.navigator.userAgent.match('Chrome');
						}),
						(r.isEdge = function () {
							return null !== window.navigator.userAgent.match(/Edge\/(\d+).(\d+)$/);
						}),
						(r.isFirefox = function () {
							return null !== window.navigator.userAgent.match('Firefox');
						}),
						(r.isSafari = s),
						(r.isString = function (e) {
							return 'string' == typeof e && e.constructor == String;
						}),
						(r.sysInfo = function () {
							var e = Object.create({});
							e.sdk = { version: o, type: 'JavaScript' };
							var t = navigator.userAgent,
								r = /Chrome\/([0-9\.]+)/.exec(t);
							if (r) e.runtime = { name: 'Chrome', version: r[1] };
							else if ((r = /Firefox\/([0-9\.]+)/.exec(t))) e.runtime = { name: 'Firefox', version: r[1] };
							else if ((r = /Edge\/([0-9\.]+)/.exec(t))) e.runtime = { name: 'Edge', version: r[1] };
							else if (s()) (r = /Version\/([0-9\.]+) Safari/.exec(t)), (e.runtime = { name: 'Safari' }), (e.runtime.version = r ? r[1] : 'Unknown');
							else {
								if ('object' === ('undefined' == typeof wx ? 'undefined' : (0, i.default)(wx)) && wx.openLocation && wx.getSystemInfoSync) {
									e.runtime = { name: 'weapp', version: wx.getSystemInfoSync().SDKVersion };
									var n = /(.*?)[ \t]*?([0-9\.]+)/.exec(wx.getSystemInfoSync().system);
									return (e.os = { name: n[1], version: n[2] }), (e.capabilities = { continualIceGathering: !1, unifiedPlan: !1, streamRemovable: !1 }), e;
								}
								e.runtime = { name: 'Unknown', version: 'Unknown' };
							}
							(r = /Windows NT ([0-9\.]+)/.exec(t))
								? (e.os = { name: 'Windows NT', version: r[1] })
								: (r = /Intel Mac OS X ([0-9_\.]+)/.exec(t))
								? (e.os = { name: 'Mac OS X', version: r[1].replace(/_/g, '.') })
								: (r = /iPhone OS ([0-9_\.]+)/.exec(t))
								? (e.os = { name: 'iPhone OS', version: r[1].replace(/_/g, '.') })
								: (r = /X11; Linux/.exec(t))
								? (e.os = { name: 'Linux', version: 'Unknown' })
								: (r = /Android( ([0-9\.]+))?/.exec(t))
								? (e.os = { name: 'Android', version: r[1] || 'Unknown' })
								: (r = /CrOS/.exec(t))
								? (e.os = { name: 'Chrome OS', version: 'Unknown' })
								: (e.os = { name: 'Unknown', version: 'Unknown' });
							return (e.capabilities = { continualIceGathering: !1, unifiedPlan: !0, streamRemovable: 'Firefox' !== e.runtime.name }), e;
						});
					var i = n(e('@babel/runtime/helpers/typeof')),
						o = '4.3.0';
					function s() {
						return /^((?!chrome|android).)*safari/i.test(window.navigator.userAgent);
					}
				},
				{ '@babel/runtime/helpers/interopRequireDefault': 7, '@babel/runtime/helpers/typeof': 12 }
			],
			28: [
				function (e, t, r) {
					'use strict';
					var n = e('@babel/runtime/helpers/interopRequireDefault'),
						i = e('@babel/runtime/helpers/typeof');
					Object.defineProperty(r, '__esModule', { value: !0 }), (r.ConferencePeerConnectionChannel = void 0);
					var o = n(e('@babel/runtime/helpers/typeof')),
						s = n(e('@babel/runtime/helpers/classCallCheck')),
						a = n(e('@babel/runtime/helpers/createClass')),
						u = n(e('@babel/runtime/helpers/inherits')),
						c = n(e('@babel/runtime/helpers/possibleConstructorReturn')),
						f = n(e('@babel/runtime/helpers/getPrototypeOf')),
						l = n(e('../base/logger.js')),
						h = e('../base/event.js'),
						p = e('../base/mediaformat.js'),
						d = (e('../base/mediastream-factory'), e('../base/publication.js')),
						v = e('./subscription.js'),
						y = e('./error.js'),
						b = w(e('../base/utils.js')),
						m = w(e('../base/sdputils.js'));
					function g(e) {
						if ('function' != typeof WeakMap) return null;
						var t = new WeakMap(),
							r = new WeakMap();
						return (g = function (e) {
							return e ? r : t;
						})(e);
					}
					function w(e, t) {
						if (!t && e && e.__esModule) return e;
						if (null === e || ('object' !== i(e) && 'function' != typeof e)) return { default: e };
						var r = g(t);
						if (r && r.has(e)) return r.get(e);
						var n = {},
							o = Object.defineProperty && Object.getOwnPropertyDescriptor;
						for (var s in e)
							if ('default' !== s && Object.prototype.hasOwnProperty.call(e, s)) {
								var a = o ? Object.getOwnPropertyDescriptor(e, s) : null;
								a && (a.get || a.set) ? Object.defineProperty(n, s, a) : (n[s] = e[s]);
							}
						return (n.default = e), r && r.set(e, n), n;
					}
					function _(e, t) {
						var r = ('undefined' != typeof Symbol && e[Symbol.iterator]) || e['@@iterator'];
						if (!r) {
							if (
								Array.isArray(e) ||
								(r = (function (e, t) {
									if (!e) return;
									if ('string' == typeof e) return k(e, t);
									var r = Object.prototype.toString.call(e).slice(8, -1);
									'Object' === r && e.constructor && (r = e.constructor.name);
									if ('Map' === r || 'Set' === r) return Array.from(e);
									if ('Arguments' === r || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)) return k(e, t);
								})(e)) ||
								(t && e && 'number' == typeof e.length)
							) {
								r && (e = r);
								var n = 0,
									i = function () {};
								return {
									s: i,
									n: function () {
										return n >= e.length ? { done: !0 } : { done: !1, value: e[n++] };
									},
									e: function (e) {
										throw e;
									},
									f: i
								};
							}
							throw new TypeError('Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.');
						}
						var o,
							s = !0,
							a = !1;
						return {
							s: function () {
								r = r.call(e);
							},
							n: function () {
								var e = r.next();
								return (s = e.done), e;
							},
							e: function (e) {
								(a = !0), (o = e);
							},
							f: function () {
								try {
									s || null == r.return || r.return();
								} finally {
									if (a) throw o;
								}
							}
						};
					}
					function k(e, t) {
						(null == t || t > e.length) && (t = e.length);
						for (var r = 0, n = new Array(t); r < t; r++) n[r] = e[r];
						return n;
					}
					function E(e) {
						var t = (function () {
							if ('undefined' == typeof Reflect || !Reflect.construct) return !1;
							if (Reflect.construct.sham) return !1;
							if ('function' == typeof Proxy) return !0;
							try {
								return Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})), !0;
							} catch (e) {
								return !1;
							}
						})();
						return function () {
							var r,
								n = (0, f.default)(e);
							if (t) {
								var i = (0, f.default)(this).constructor;
								r = Reflect.construct(n, arguments, i);
							} else r = n.apply(this, arguments);
							return (0, c.default)(this, r);
						};
					}
					var S = (function (e) {
						(0, u.default)(r, e);
						var t = E(r);
						function r(e, n) {
							var i;
							return (
								(0, s.default)(this, r),
								((i = t.call(this))._config = e),
								(i._options = null),
								(i._signaling = n),
								(i._pc = null),
								(i._internalId = null),
								(i._pendingCandidates = []),
								(i._subscribePromise = null),
								(i._publishPromise = null),
								(i._subscribedStream = null),
								(i._publishedStream = null),
								(i._publication = null),
								(i._subscription = null),
								(i._disconnectTimer = null),
								(i._ended = !1),
								(i._stopped = !1),
								(i._iceRestartNeeded = !1),
								(i._signaling.onreconnected = function () {}),
								i
							);
						}
						return (
							(0, a.default)(r, [
								{
									key: 'onMessage',
									value: function (e, t) {
										switch (e) {
											case 'progress':
												'soac' === t.status ? this._sdpHandler(t.data) : 'ready' === t.status ? this._readyHandler() : 'error' === t.status && this._errorHandler(t.data);
												break;
											case 'stream':
												this._onStreamEvent(t);
												break;
											default:
												l.default.warning('Unknown notification from MCU.');
										}
									}
								},
								{
									key: 'publish',
									value: function (e, t) {
										var r = this;
										if (
											((void 0 !== t && null !== t) || (t = { audio: !!e.mediaStream.getAudioTracks().length, video: !!e.mediaStream.getVideoTracks().length }),
											'object' !== (0, o.default)(t))
										)
											return Promise.reject(new TypeError('Options should be an object.'));
										(void 0 !== t.audio && null !== t.audio) || (t.audio = !!e.mediaStream.getAudioTracks().length),
											(void 0 !== t.video && null !== t.video) || (t.video = !!e.mediaStream.getVideoTracks().length);
										var n = !!t.audio,
											i = !!t.video;
										if ((n && 0 == e.mediaStream.getAudioTracks().length) || (i && 0 == e.mediaStream.getVideoTracks().length))
											return Promise.reject(new y.ConferenceError('options.audio/video is inconsistent with tracks presented in the MediaStream.'));
										if (!1 === t.audio && !1 === t.video) return Promise.reject(new y.ConferenceError('Cannot publish a stream without audio and video.'));
										if ('object' === (0, o.default)(t.audio) && !Array.isArray(t.audio)) return Promise.reject(new TypeError('options.audio should be a boolean or an array.'));
										if (this._isIrtcEncodingParameters(t.audio)) {
											var s,
												a = _(t.audio);
											try {
												for (a.s(); !(s = a.n()).done; ) {
													var u = s.value;
													if (
														!u.codec ||
														'string' != typeof u.codec.name ||
														0 === u.codec.name.length ||
														(void 0 !== u.maxBitrate && 'number' != typeof u.maxBitrate) ||
														(void 0 !== u.minBitrate && 'number' != typeof u.minBitrate) ||
														(void 0 !== u.startBitrate && 'number' != typeof u.startBitrate)
													)
														return Promise.reject(new TypeError('options.audio has incorrect parameters.'));
												}
											} catch (e) {
												a.e(e);
											} finally {
												a.f();
											}
										}
										if ('object' === (0, o.default)(t.video) && !Array.isArray(t.video)) return Promise.reject(new TypeError('options.video should be a boolean or an array.'));
										if (this._isIrtcEncodingParameters(t.video)) {
											var c,
												f = _(t.video);
											try {
												for (f.s(); !(c = f.n()).done; ) {
													var p = c.value;
													if (
														!p.codec ||
														'string' != typeof p.codec.name ||
														0 === p.codec.name.length ||
														(void 0 !== p.maxBitrate && 'number' != typeof p.maxBitrate) ||
														(void 0 !== p.minBitrate && 'number' != typeof p.minBitrate) ||
														(void 0 !== p.startBitrate && 'number' != typeof p.startBitrate) ||
														(void 0 !== p.codec.profile && 'string' != typeof p.codec.profile)
													)
														return Promise.reject(new TypeError('options.video has incorrect parameters.'));
												}
											} catch (e) {
												f.e(e);
											} finally {
												f.f();
											}
										}
										this._options = t;
										var d = {};
										if ((this._createPeerConnection(), e.mediaStream.getAudioTracks().length > 0 && !1 !== t.audio && null !== t.audio)) {
											if (
												(e.mediaStream.getAudioTracks().length > 1 && l.default.warning('Publishing a stream with multiple audio tracks is not fully supported.'),
												'boolean' != typeof t.audio && 'object' !== (0, o.default)(t.audio))
											)
												return Promise.reject(new y.ConferenceError('Type of audio options should be boolean or an object.'));
											(d.audio = {}), (d.audio.source = e.media.audio.source), (d.audio.status = e.media.audio.status);
											var v,
												b = _(e.mediaStream.getAudioTracks());
											try {
												for (b.s(); !(v = b.n()).done; ) {
													var g = v.value;
													this._pc.addTrack(g, e.mediaStream);
												}
											} catch (e) {
												b.e(e);
											} finally {
												b.f();
											}
										} else d.audio = !1;
										if (e.mediaStream.getVideoTracks().length > 0 && !1 !== t.video && null !== t.video) {
											e.mediaStream.getVideoTracks().length > 1 && l.default.warning('Publishing a stream with multiple video tracks is not fully supported.'),
												(d.video = {}),
												(d.video.source = e.media.video.source),
												(d.video.status = e.media.video.status);
											var w = e.mediaStream.getVideoTracks()[0].getSettings();
											d.video.parameters = { resolution: { width: w.width ? w.width : 0, height: w.height ? w.height : 0 }, framerate: w.frameRate ? w.frameRate : 0 };
											var k,
												E = _(e.mediaStream.getVideoTracks());
											try {
												for (E.s(); !(k = E.n()).done; ) {
													var S = k.value;
													this._pc.addTrack(S, e.mediaStream);
												}
											} catch (e) {
												E.e(e);
											} finally {
												E.f();
											}
										} else d.video = !1;
										return (
											(this._publishedStream = e),
											this._signaling
												.sendSignalingMessage('publish', { media: d, attributes: e.attributes })
												.then(function (n) {
													var i,
														o = new h.MessageEvent('id', { message: n.id, origin: r._remoteId });
													r.dispatchEvent(o),
														(r._internalId = n.id),
														r._isAddTransceiverSupported() &&
															(d.audio && e.mediaStream.getAudioTracks() > 0 && r._pc.addTransceiver('audio', { direction: 'sendonly' }),
															d.video && e.mediaStream.getVideoTracks() > 0 && r._pc.addTransceiver('video', { direction: 'sendonly' })),
														r._pc
															.createOffer()
															.then(function (e) {
																return t && (e.sdp = r._setRtpReceiverOptions(e.sdp, t)), e;
															})
															.then(function (e) {
																return (e.sdp = m.enableAudioNack(e.sdp)), (i = e), r._pc.setLocalDescription(e);
															})
															.then(function () {
																r._signaling.sendSignalingMessage('soac', { id: r._internalId, signaling: i });
															})
															.catch(function (e) {
																l.default.error('Failed to create offer or set SDP. Message: ' + e.message),
																	r._unpublish(),
																	r._rejectPromise(e),
																	r._fireEndedEventOnPublicationOrSubscription();
															});
												})
												.catch(function (e) {
													r._unpublish(), r._rejectPromise(e), r._fireEndedEventOnPublicationOrSubscription();
												}),
											(this._callbackTimer = setTimeout(function () {
												r._unpublish(), r._rejectPromise(new y.ConferenceError('Publish timeout!')), r._fireEndedEventOnPublicationOrSubscription();
											}, 15e3)),
											new Promise(function (e, t) {
												r._publishPromise = { resolve: e, reject: t };
											})
										);
									}
								},
								{
									key: 'subscribe',
									value: function (e, t) {
										var r = this;
										if (
											((void 0 !== t && null !== t) || (t = { audio: !!e.capabilities.audio, video: !!e.capabilities.video }), void 0 !== e.mediaStream && null !== e.mediaStream)
										)
											return Promise.reject(new y.ConferenceError('The same remote stream has already been subscribed. Subcribe after it is unsubscribed.'));
										if ('object' !== (0, o.default)(t)) return Promise.reject(new TypeError('Options should be an object.'));
										if (
											((void 0 !== t.audio && null !== t.audio) || (t.audio = !!e.capabilities.audio),
											(void 0 !== t.video && null !== t.video) || (t.video = !!e.capabilities.video),
											(void 0 !== t.audio && 'object' !== (0, o.default)(t.audio) && 'boolean' != typeof t.audio && null !== t.audio) ||
												(void 0 !== t.video && 'object' !== (0, o.default)(t.video) && 'boolean' != typeof t.video && null !== t.video))
										)
											return Promise.reject(new TypeError('Invalid options type.'));
										if ((t.audio && !e.capabilities.audio) || (t.video && !e.capabilities.video))
											return Promise.reject(new y.ConferenceError('options.audio/video cannot be true or an object if there is no audio/video track in remote stream.'));
										if (!1 === t.audio && !1 === t.video) return Promise.reject(new y.ConferenceError('Cannot subscribe a stream without audio and video.'));
										this._options = t;
										var n = {};
										if (t.audio) {
											if ('object' === (0, o.default)(t.audio) && Array.isArray(t.audio.codecs) && 0 === t.audio.codecs.length)
												return Promise.reject(new TypeError('Audio codec cannot be an empty array.'));
											(n.audio = {}), (n.audio.from = e.id);
										} else n.audio = !1;
										if (t.video) {
											if ('object' === (0, o.default)(t.video) && Array.isArray(t.video.codecs) && 0 === t.video.codecs.length)
												return Promise.reject(new TypeError('Video codec cannot be an empty array.'));
											(n.video = {}),
												(n.video.from = e.id),
												(t.video.resolution || t.video.frameRate || (t.video.bitrateMultiplier && 1 !== t.video.bitrateMultiplier) || t.video.keyFrameInterval) &&
													(n.video.parameters = {
														resolution: t.video.resolution,
														framerate: t.video.frameRate,
														bitrate: t.video.bitrateMultiplier ? 'x' + t.video.bitrateMultiplier.toString() : void 0,
														keyFrameInterval: t.video.keyFrameInterval
													});
										} else n.video = !1;
										return (
											(this._subscribedStream = e),
											this._signaling
												.sendSignalingMessage('subscribe', { media: n })
												.then(function (e) {
													var i = new h.MessageEvent('id', { message: e.id, origin: r._remoteId });
													r.dispatchEvent(i),
														(r._internalId = e.id),
														r._createPeerConnection(),
														r._isAddTransceiverSupported() &&
															(n.audio && r._pc.addTransceiver('audio', { direction: 'recvonly' }), n.video && r._pc.addTransceiver('video', { direction: 'recvonly' }));
													var o = { offerToReceiveAudio: !!t.audio, offerToReceiveVideo: !!t.video };
													r._isSafari() && (o = void 0),
														r._pc
															.createOffer(o)
															.then(
																function (e) {
																	(e.sdp = m.enableAudioNack(e.sdp)),
																		t && (e.sdp = r._setRtpReceiverOptions(e.sdp, t)),
																		r._pc.setLocalDescription(e).then(
																			function () {
																				r._signaling.sendSignalingMessage('soac', { id: r._internalId, signaling: e });
																			},
																			function (e) {
																				l.default.error('Set local description failed. Message: ' + JSON.stringify(e));
																			}
																		);
																},
																function (e) {
																	l.default.error('Create offer failed. Error info: ' + JSON.stringify(e));
																}
															)
															.catch(function (e) {
																l.default.error('Failed to create offer or set SDP. Message: ' + e.message),
																	r._unsubscribe(),
																	r._rejectPromise(e),
																	r._fireEndedEventOnPublicationOrSubscription();
															});
												})
												.catch(function (e) {
													r._unsubscribe(), r._rejectPromise(e), r._fireEndedEventOnPublicationOrSubscription();
												}),
											(this._callbackTimer = setTimeout(function () {
												r._unsubscribe(), r._rejectPromise(new y.ConferenceError('Subscribe timeout!')), r._fireEndedEventOnPublicationOrSubscription();
											}, 15e3)),
											new Promise(function (e, t) {
												r._subscribePromise = { resolve: e, reject: t };
											})
										);
									}
								},
								{
									key: '_unpublish',
									value: function () {
										this._stopped ||
											((this._stopped = !0),
											this._signaling.sendSignalingMessage('unpublish', { id: this._internalId }).catch(function (e) {
												l.default.warning('MCU returns negative ack for unpublishing, ' + e);
											}),
											this._fireEndedEventOnPublicationOrSubscription(),
											this._pc && 'closed' !== this._pc.signalingState && (this._pc.close(), (this._pc = null)));
									}
								},
								{
									key: '_unsubscribe',
									value: function () {
										this._stopped ||
											((this._subscribedStream.mediaStream = void 0),
											(this._stopped = !0),
											this._signaling.sendSignalingMessage('unsubscribe', { id: this._internalId }).catch(function (e) {
												l.default.warning('MCU returns negative ack for unsubscribing, ' + e);
											}),
											this._fireEndedEventOnPublicationOrSubscription(),
											this._pc && 'closed' !== this._pc.signalingState && (this._pc.close(), (this._pc = null)));
									}
								},
								{
									key: '_muteOrUnmute',
									value: function (e, t, r) {
										var n = this,
											i = t ? 'stream-control' : 'subscription-control',
											o = e ? 'pause' : 'play';
										return this._signaling.sendSignalingMessage(i, { id: this._internalId, operation: o, data: r }).then(function () {
											if (!t) {
												var i = e ? 'mute' : 'unmute';
												n._subscription.dispatchEvent(new h.MuteEvent(i, { kind: r }));
											}
										});
									}
								},
								{
									key: '_updateMedia',
									value: function (e) {
										var t = this;
										if (!this._pc || !this._publication) return Promise.reject(new y.ConferenceError('Only publication support this method.'));
										if (!this._publishedStream.upgradeable) return Promise.reject(new y.ConferenceError('Only upgradeable stream support this method.'));
										if (this._stopped) return Promise.reject(new y.ConferenceError('Peerconnection has already stopped.'));
										var r = !1,
											n = !1;
										this._getPCSenders().forEach(function (i) {
											if ('audio' === i.track.kind) {
												r = !1;
												var o,
													s = t._publishedStream.mediaStream.getAudioTracks()[0];
												s !== t._publishedStream.dumyStream.getAudioTracks()[0] && s.stop(),
													t._publishedStream.mediaStream.removeTrack(s),
													e.mediaStream.getAudioTracks().length > 0
														? ((o = e.mediaStream.getAudioTracks()[0]), (r = 'active'))
														: (o = t._publishedStream.dumyStream.getAudioTracks()[0]),
													i.replaceTrack(o),
													t._publishedStream.mediaStream.addTrack(o);
											}
											if ('video' === i.track.kind) {
												n = !1;
												var a,
													u = t._publishedStream.mediaStream.getVideoTracks()[0];
												u !== t._publishedStream.dumyStream.getVideoTracks()[0] && u.stop(),
													t._publishedStream.mediaStream.removeTrack(u),
													e.mediaStream.getVideoTracks().length > 0
														? ((a = e.mediaStream.getVideoTracks()[0]), (n = 'active'))
														: (a = t._publishedStream.dumyStream.getVideoTracks()[0]),
													i.replaceTrack(a),
													t._publishedStream.mediaStream.addTrack(a);
											}
										});
										var i = [];
										return (
											r !== this._publishedStream.media.audio.status && ((this._publishedStream.media.audio.status = r), i.push({ field: 'media.audio.status', value: r })),
											n !== this._publishedStream.media.video.status && ((this._publishedStream.media.video.status = n), i.push({ field: 'media.video.status', value: n })),
											this._signaling.sendSignalingMessage('stream-update', { id: this._internalId, data: i }),
											Promise.resolve()
										);
									}
								},
								{
									key: '_applyOptions',
									value: function (e) {
										if ('object' !== (0, o.default)(e) || 'object' !== (0, o.default)(e.video)) return Promise.reject(new y.ConferenceError('Options should be an object.'));
										var t = {};
										return (
											(t.resolution = e.video.resolution),
											(t.framerate = e.video.frameRate),
											(t.bitrate = e.video.bitrateMultiplier ? 'x' + e.video.bitrateMultiplier.toString() : void 0),
											(t.keyFrameInterval = e.video.keyFrameInterval),
											this._signaling.sendSignalingMessage('subscription-control', { id: this._internalId, operation: 'update', data: { video: { parameters: t } } }).then()
										);
									}
								},
								{
									key: '_onRemoteStreamAdded',
									value: function (e) {
										l.default.trace('Remote stream added.'),
											this._subscribedStream ? (this._subscribedStream.mediaStream = e.streams[0]) : l.default.warning('Received remote stream without subscription.');
									}
								},
								{
									key: '_onLocalIceCandidate',
									value: function (e) {
										e.candidate
											? (l.default.trace('_onLocalIceCandidate:' + JSON.stringify(e.candidate)),
											  this._pc && 'stable' !== this._pc.signalingState ? this._pendingCandidates.push(e.candidate) : this._sendCandidate(e.candidate))
											: l.default.trace('Empty candidate.');
									}
								},
								{
									key: '_fireEndedEventOnPublicationOrSubscription',
									value: function () {
										if (!this._ended) {
											this._ended = !0;
											var e = new h.IRtcEvent('ended');
											this._publication
												? (this._publication.dispatchEvent(e), this._publication.stop())
												: this._subscription && (this._subscription.dispatchEvent(e), this._subscription.stop()),
												this._signaling.onStop && this._signaling.onStop(),
												this._pcCheckInterval && (clearInterval(this._pcCheckInterval), (this._pcCheckInterval = void 0));
										}
									}
								},
								{
									key: '_rejectPromise',
									value: function (e) {
										if (!e) new y.ConferenceError('Connection failed or closed.');
										this._publishPromise
											? (this._publishPromise.reject(e), (this._publishPromise = void 0))
											: this._subscribePromise && (this._subscribePromise.reject(e), (this._subscribePromise = void 0));
									}
								},
								{
									key: '_onIceConnectionStateChange',
									value: function (e) {
										e &&
											e.currentTarget &&
											(l.default.trace('ICE connection state changed to ' + e.currentTarget.iceConnectionState),
											'failed' === e.currentTarget.iceConnectionState && ('stable' === this._pc.signalingState ? this._iceRestart() : (this._iceRestartNeeded = !0)));
									}
								},
								{
									key: '_onConnectionStateChange',
									value: function (e) {
										l.default.trace('connectionState:' + this._pc.connectionState);
									}
								},
								{
									key: '_onsignalingstatechange',
									value: function (e) {
										this._pc &&
											(l.default.trace('_onsignalingstatechange:' + this._pc.signalingState),
											'stable' === this._pc.signalingState && this._iceRestartNeeded && ((this._iceRestartNeeded = !1), this._iceRestart()));
									}
								},
								{
									key: '_sendCandidate',
									value: function (e) {
										l.default.trace('_sendCandidate:' + JSON.stringify(e)),
											this._signaling.sendSignalingMessage('soac', {
												id: this._internalId,
												signaling: { type: 'candidate', candidate: { candidate: 'a=' + e.candidate, sdpMid: e.sdpMid, sdpMLineIndex: e.sdpMLineIndex } }
											});
									}
								},
								{
									key: '_createPeerConnection',
									value: function () {
										var e = this,
											t = this._config.rtcConfiguration || {},
											r = this._config.rtcConfigurationExtra;
										this._isChrome78Up() ? (t.sdpSemantics = 'unified-plan') : b.isChrome() && (t.sdpSemantics = 'plan-b'),
											(this._pc = new RTCPeerConnection(t, r)),
											(this._pc.onicecandidate = function (t) {
												e._onLocalIceCandidate.apply(e, [t]);
											}),
											(this._pc.ontrack = function (t) {
												e._onRemoteStreamAdded.apply(e, [t]);
											}),
											(this._pc.oniceconnectionstatechange = function (t) {
												e._onIceConnectionStateChange.apply(e, [t]);
											}),
											(this._pc.onconnectionstatechange = function (t) {
												e._onConnectionStateChange.apply(e, [t]);
											}),
											(this._pc.onsignalingstatechange = function (t) {
												e._onsignalingstatechange.apply(e, [t]);
											});
									}
								},
								{
									key: '_getStats',
									value: function () {
										return this._pc ? this._pc.getStats() : Promise.reject(new y.ConferenceError('PeerConnection is not available.'));
									}
								},
								{
									key: '_deleteUnusedKey',
									value: function (e) {
										delete e.id,
											delete e.mid,
											delete e.kind,
											delete e.type,
											delete e.ssrc,
											delete e.localId,
											delete e.codecId,
											delete e.trackId,
											delete e.remoteId,
											delete e.mediaType,
											delete e.transportId,
											delete e.mediaSourceId,
											delete e.trackIdentifier,
											delete e.decoderImplementation;
									}
								},
								{
									key: '_convertWebrtcStatsToIrtcStats',
									value: function (e, t) {
										var r = this;
										e.forEach(function (n) {
											if ('outbound-rtp' === n.type || 'inbound-rtp' === n.type) {
												var i = JSON.parse(JSON.stringify(n));
												n.codecId && ((i.codec = JSON.parse(JSON.stringify(e.get(n.codecId)))), r._deleteUnusedKey(i.codec)),
													n.remoteId &&
														((i.remote = JSON.parse(JSON.stringify(e.get(n.remoteId)))),
														r._deleteUnusedKey(i.remote),
														i.remote.codecId && ((i.remote.codec = JSON.parse(JSON.stringify(e.get(i.remote.codecId)))), r._deleteUnusedKey(i.remote.codec))),
													r._deleteUnusedKey(i),
													'audio' === n.kind ? (t.audio = i) : (t.video = i);
											}
										});
									}
								},
								{
									key: '_getConnectionStats',
									value: function () {
										var e = this;
										return this._pc
											? new Promise(function (t, r) {
													var n = {};
													if (e._publication) {
														var i = e._pc.getSenders(),
															o = 0;
														i.forEach(function (s) {
															s.getStats().then(function (s) {
																e._convertWebrtcStatsToIrtcStats(s, n), ++o === i.length && (n.audio || n.video ? t(n) : r('unsupported browser.'));
															});
														});
													}
													if (e._subscription) {
														var s = e._pc.getReceivers(),
															a = 0;
														s.forEach(function (i) {
															i.getStats().then(function (i) {
																e._convertWebrtcStatsToIrtcStats(i, n), ++a === s.length && (n.audio || n.video ? t(n) : r('unsupported browser.'));
															});
														});
													}
											  })
											: Promise.reject(new y.ConferenceError('PeerConnection is not available.'));
									}
								},
								{
									key: '_getPCSenders',
									value: function () {
										return this._pc ? this._pc.getSenders() : null;
									}
								},
								{
									key: '_clearCallbackTimeout',
									value: function () {
										this._callbackTimer && (clearTimeout(this._callbackTimer), (this._callbackTimer = null));
									}
								},
								{
									key: '_readyHandler',
									value: function () {
										var e = this;
										this._subscribePromise
											? ((this._subscription = new v.Subscription(
													this._internalId,
													function () {
														e._unsubscribe();
													},
													function () {
														return e._getStats();
													},
													function () {
														return e._getConnectionStats();
													},
													function (t) {
														return e._muteOrUnmute(!0, !1, t);
													},
													function (t) {
														return e._muteOrUnmute(!1, !1, t);
													},
													function (t) {
														return e._applyOptions(t);
													}
											  )),
											  this._subscribedStream.addEventListener('ended', function () {
													e._subscription.dispatchEvent('ended', new h.IRtcEvent('ended'));
											  }),
											  this._subscribePromise.resolve(this._subscription),
											  this._clearCallbackTimeout())
											: this._publishPromise &&
											  ((this._publication = new d.Publication(
													this._internalId,
													function () {
														return e._unpublish(), Promise.resolve();
													},
													function () {
														return e._getStats();
													},
													function () {
														return e._getConnectionStats();
													},
													function () {
														return e._getPCSenders();
													},
													function (t) {
														return e._muteOrUnmute(!0, !0, t);
													},
													function (t) {
														return e._muteOrUnmute(!1, !0, t);
													},
													function (t) {
														return e._updateMedia(t);
													}
											  )),
											  this._publishPromise.resolve(this._publication),
											  this._clearCallbackTimeout()),
											(this._publishPromise = null),
											(this._subscribePromise = null);
									}
								},
								{
									key: '_sdpHandler',
									value: function (e) {
										var t = this;
										'answer' === e.type &&
											(l.default.trace('setRemoteDescription'),
											(this._publication || this._publishPromise) && this._options && (e.sdp = this._setRtpSenderOptions(e.sdp, this._options)),
											this._pc.setRemoteDescription(e).then(
												function () {
													if (t._pendingCandidates.length > 0) {
														var e,
															r = _(t._pendingCandidates);
														try {
															for (r.s(); !(e = r.n()).done; ) {
																var n = e.value;
																t._sendCandidate(n);
															}
														} catch (e) {
															r.e(e);
														} finally {
															r.f();
														}
													}
												},
												function (e) {
													l.default.error('Set remote description failed: ' + e), t._rejectPromise(e), t._fireEndedEventOnPublicationOrSubscription();
												}
											));
									}
								},
								{
									key: '_errorHandler',
									value: function (e) {
										l.default.trace('_errorHandler:' + e);
										var t = this._publishPromise || this._subscribePromise;
										if (t) t.reject(new y.ConferenceError(e));
										else {
											var r = this._publication || this._subscription;
											if (r) {
												var n = new y.ConferenceError(e),
													i = new h.ErrorEvent('error', { error: n });
												r.dispatchEvent(i), this._fireEndedEventOnPublicationOrSubscription();
											} else l.default.warning('Neither publication nor subscription is available.');
										}
									}
								},
								{
									key: '_setCodecOrder',
									value: function (e, t) {
										if (this._publication || this._publishPromise) {
											if (t.audio) {
												var r = Array.from(t.audio, function (e) {
													return e.codec.name;
												});
												e = m.reorderCodecs(e, 'audio', r);
											}
											if (t.video) {
												var n = Array.from(t.video, function (e) {
													return e.codec.name;
												});
												e = m.reorderCodecs(e, 'video', n);
											}
										} else {
											if (t.audio && t.audio.codecs) {
												var i = Array.from(t.audio.codecs, function (e) {
													return e.name;
												});
												e = m.reorderCodecs(e, 'audio', i);
											}
											if (t.video && t.video.codecs) {
												var o = Array.from(t.video.codecs, function (e) {
													return e.name;
												});
												e = m.reorderCodecs(e, 'video', o);
											}
										}
										return e;
									}
								},
								{
									key: '_setStartBitrate',
									value: function (e, t) {
										return (
											'object' === (0, o.default)(t.audio) && (e = m.setStartBitrate(e, t.audio)), 'object' === (0, o.default)(t.video) && (e = m.setStartBitrate(e, t.video)), e
										);
									}
								},
								{
									key: '_setMinBitrate',
									value: function (e, t) {
										return 'object' === (0, o.default)(t.audio) && (e = m.setMinBitrate(e, t.audio)), 'object' === (0, o.default)(t.video) && (e = m.setMinBitrate(e, t.video)), e;
									}
								},
								{
									key: '_setMaxBitrate',
									value: function (e, t) {
										return 'object' === (0, o.default)(t.audio) && (e = m.setMaxBitrate(e, t.audio)), 'object' === (0, o.default)(t.video) && (e = m.setMaxBitrate(e, t.video)), e;
									}
								},
								{
									key: '_setRtpSenderOptions',
									value: function (e, t) {
										if (b.isFirefox()) {
											var r = this._pc.getSenders();
											0 === r.length && l.default.warning('Cannot set max bitrate without stream added.');
											var n,
												i = _(r);
											try {
												for (i.s(); !(n = i.n()).done; ) {
													var s = n.value;
													if ('audio' === s.track.kind && 'object' === (0, o.default)(t.audio)) {
														var a = s.getParameters();
														void 0 == a.encodings && (a.encodings = []);
														var u,
															c = _(t.audio);
														try {
															for (c.s(); !(u = c.n()).done; ) {
																var f = u.value,
																	h = void 0,
																	p = !1;
																if (
																	(f.maxBitrate && f.maxBitrate > 0 && ((h = { maxBitrate: 1e3 * f.maxBitrate }), (p = !0)),
																	f.minBitrate && f.minBitrate > 0 && ((h = { minBitrate: 1e3 * f.minBitrate }), (p = !0)),
																	f.startBitrate && f.startBitrate > 0 && ((h = { startBitrate: 1e3 * f.startBitrate }), (p = !0)),
																	p)
																) {
																	a.encodings.push(h);
																	break;
																}
															}
														} catch (e) {
															c.e(e);
														} finally {
															c.f();
														}
														s.setParameters(a);
													} else if ('video' === s.track.kind && 'object' === (0, o.default)(t.video)) {
														var d = s.getParameters();
														void 0 == d.encodings && (d.encodings = []);
														var v,
															y = _(t.video);
														try {
															for (y.s(); !(v = y.n()).done; ) {
																var m = v.value,
																	g = void 0,
																	w = !1;
																if (
																	(m.maxBitrate && m.maxBitrate > 0 && ((g = { maxBitrate: 1e3 * m.maxBitrate }), (w = !0)),
																	m.minBitrate && m.minBitrate > 0 && ((g = { minBitrate: 1e3 * m.minBitrate }), (w = !0)),
																	m.startBitrate && m.startBitrate > 0 && ((g = { startBitrate: 1e3 * m.startBitrate }), (w = !0)),
																	w)
																) {
																	d.encodings.push(g);
																	break;
																}
															}
														} catch (e) {
															y.e(e);
														} finally {
															y.f();
														}
														s.setParameters(d);
													}
												}
											} catch (e) {
												i.e(e);
											} finally {
												i.f();
											}
										} else (e = this._setMaxBitrate(e, t)), (e = this._setMinBitrate(e, t)), (e = this._setStartBitrate(e, t));
										return e;
									}
								},
								{
									key: '_setRtpReceiverOptions',
									value: function (e, t) {
										return (e = this._setCodecOrder(e, t));
									}
								},
								{
									key: '_onStreamEvent',
									value: function (e) {
										var t, r;
										(this._publication && e.id === this._publication.id
											? (t = this._publication)
											: this._subscribedStream && e.id === this._subscribedStream.id && (t = this._subscription),
										t) &&
											('audio.status' === e.data.field
												? (r = p.TrackKind.AUDIO)
												: 'video.status' === e.data.field
												? (r = p.TrackKind.VIDEO)
												: l.default.warning('Invalid data field for stream update info.'),
											'active' === e.data.value
												? t.dispatchEvent(new h.MuteEvent('unmute', { kind: r }))
												: 'inactive' === e.data.value
												? t.dispatchEvent(new h.MuteEvent('mute', { kind: r }))
												: l.default.warning('Invalid data value for stream update info.'));
									}
								},
								{
									key: '_isRtpEncodingParameters',
									value: function (e) {
										if (!Array.isArray(e)) return !1;
										var t = e[0];
										return (
											t.codec ||
											t.codecPayloadType ||
											t.dtx ||
											t.active ||
											t.ptime ||
											t.maxFramerate ||
											t.scaleResolutionDownBy ||
											t.rid ||
											t.maxBitrate ||
											t.minBitrate ||
											t.startBitrate
										);
									}
								},
								{
									key: '_isIrtcEncodingParameters',
									value: function (e) {
										return !!Array.isArray(e) && !!e[0].codec;
									}
								},
								{
									key: '_isAddTransceiverSupported',
									value: function () {
										var e = b.sysInfo();
										return 'function' == typeof this._pc.addTransceiver && (e.runtime.version <= 68 || this._isChrome78Up() || !b.isChrome());
									}
								},
								{
									key: '_isSafari',
									value: function () {
										return 'Safari' === b.sysInfo().runtime.name;
									}
								},
								{
									key: '_isChrome78Up',
									value: function () {
										var e = b.sysInfo();
										return 'Chrome' === e.runtime.name && e.runtime.version.split('.')[0] >= 78;
									}
								},
								{
									key: '_iceRestart',
									value: function () {
										var e = this;
										if ((l.default.trace('_iceRestart'), this._pc)) {
											var t;
											this._pendingCandidates = [];
											this._pc
												.createOffer({ iceRestart: !0 })
												.then(function (t) {
													return (t.sdp = e._setRtpReceiverOptions(t.sdp, e._options)), t;
												})
												.then(function (r) {
													return (r.sdp = m.enableAudioNack(r.sdp)), (t = r), e._pc.setLocalDescription(r);
												})
												.then(function () {
													e._signaling.sendSignalingMessage('soac', { id: e._internalId, signaling: t });
												})
												.catch(function (e) {
													l.default.error('Failed to create offer or set SDP. Message: ' + e.message);
												});
										}
									}
								}
							]),
							r
						);
					})(h.EventDispatcher);
					r.ConferencePeerConnectionChannel = S;
				},
				{
					'../base/event.js': 18,
					'../base/logger.js': 20,
					'../base/mediaformat.js': 21,
					'../base/mediastream-factory': 22,
					'../base/publication.js': 23,
					'../base/sdputils.js': 25,
					'../base/utils.js': 27,
					'./error.js': 30,
					'./subscription.js': 39,
					'@babel/runtime/helpers/classCallCheck': 2,
					'@babel/runtime/helpers/createClass': 4,
					'@babel/runtime/helpers/getPrototypeOf': 5,
					'@babel/runtime/helpers/inherits': 6,
					'@babel/runtime/helpers/interopRequireDefault': 7,
					'@babel/runtime/helpers/possibleConstructorReturn': 10,
					'@babel/runtime/helpers/typeof': 12
				}
			],
			29: [
				function (e, t, r) {
					'use strict';
					var n = e('@babel/runtime/helpers/interopRequireDefault'),
						i = e('@babel/runtime/helpers/typeof');
					Object.defineProperty(r, '__esModule', { value: !0 }), (r.ConferenceClient = void 0);
					n(e('@babel/runtime/helpers/createClass')), n(e('@babel/runtime/helpers/classCallCheck'));
					var o = _(e('../base/event.js')),
						s = e('./signaling.js'),
						a = n(e('../base/logger.js')),
						u = e('../base/base64.js'),
						c = e('./hostinfo.js'),
						f = e('./error.js'),
						l = _(e('../base/utils.js')),
						h = _(e('../base/stream.js')),
						p = e('./participant.js'),
						d = e('./session.js'),
						v = e('./info.js'),
						y = e('./channel.js'),
						b = e('./mixedstream.js'),
						m = _(e('./streamutils.js')),
						g = e('./whiteboard.js');
					function w(e) {
						if ('function' != typeof WeakMap) return null;
						var t = new WeakMap(),
							r = new WeakMap();
						return (w = function (e) {
							return e ? r : t;
						})(e);
					}
					function _(e, t) {
						if (!t && e && e.__esModule) return e;
						if (null === e || ('object' !== i(e) && 'function' != typeof e)) return { default: e };
						var r = w(t);
						if (r && r.has(e)) return r.get(e);
						var n = {},
							o = Object.defineProperty && Object.getOwnPropertyDescriptor;
						for (var s in e)
							if ('default' !== s && Object.prototype.hasOwnProperty.call(e, s)) {
								var a = o ? Object.getOwnPropertyDescriptor(e, s) : null;
								a && (a.get || a.set) ? Object.defineProperty(n, s, a) : (n[s] = e[s]);
							}
						return (n.default = e), r && r.set(e, n), n;
					}
					function k(e, t) {
						var r = ('undefined' != typeof Symbol && e[Symbol.iterator]) || e['@@iterator'];
						if (!r) {
							if (
								Array.isArray(e) ||
								(r = (function (e, t) {
									if (!e) return;
									if ('string' == typeof e) return E(e, t);
									var r = Object.prototype.toString.call(e).slice(8, -1);
									'Object' === r && e.constructor && (r = e.constructor.name);
									if ('Map' === r || 'Set' === r) return Array.from(e);
									if ('Arguments' === r || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)) return E(e, t);
								})(e)) ||
								(t && e && 'number' == typeof e.length)
							) {
								r && (e = r);
								var n = 0,
									i = function () {};
								return {
									s: i,
									n: function () {
										return n >= e.length ? { done: !0 } : { done: !1, value: e[n++] };
									},
									e: function (e) {
										throw e;
									},
									f: i
								};
							}
							throw new TypeError('Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.');
						}
						var o,
							s = !0,
							a = !1;
						return {
							s: function () {
								r = r.call(e);
							},
							n: function () {
								var e = r.next();
								return (s = e.done), e;
							},
							e: function (e) {
								(a = !0), (o = e);
							},
							f: function () {
								try {
									s || null == r.return || r.return();
								} finally {
									if (a) throw o;
								}
							}
						};
					}
					function E(e, t) {
						(null == t || t > e.length) && (t = e.length);
						for (var r = 0, n = new Array(t); r < t; r++) n[r] = e[r];
						return n;
					}
					var S = { READY: 1, CONNECTING: 2, CONNECTED: 3 },
						A = function (e, t) {
							var r = new o.IRtcEvent(e, t);
							return (r.participant = t.participant), r;
						},
						C = function (e, t) {
							var r = new o.IRtcEvent(e, t);
							return (r.session = t.session), r;
						},
						R = function (e, t) {
							var r = new o.IRtcEvent(e, t);
							return (r.whiteboard = t.whiteboard), r;
						};
					r.ConferenceClient = function (e, t) {
						Object.setPrototypeOf(this, new o.EventDispatcher()), (e = e || {});
						var r,
							n,
							i = this,
							w = S.READY,
							_ = t || new s.SioSignaling(),
							E = new Map(),
							O = new Map(),
							P = new Map(),
							j = new Array(),
							T = new Array(),
							x = new Map(),
							I = void 0,
							B = new Map(),
							M = new Map(),
							N = [];
						function D() {
							return w == S.CONNECTED;
						}
						function L(e, t) {
							if ('soac' === e || 'progress' === e) {
								if (
									('progress' === e &&
										(function (e) {
											if ('ready' === e.status) {
												var t = new d.Session(e.id);
												O.set(e.id, t);
												var r = new C('sessionadded', { session: t });
												i.dispatchEvent(r);
											} else if ('error' === e.status) {
												var n = e.id;
												if (!O.has(n)) return void a.default.warning('Received leave message from MCU for an unknown session.');
												var s = O.get(n);
												O.delete(n), s.dispatchEvent(new o.IRtcEvent('error'));
											} else if ('end' === e.status) {
												var u = e.id;
												if (!O.has(u)) return void a.default.warning('Received leave message from MCU for an unknown session.');
												var c = O.get(u);
												O.delete(u), c.dispatchEvent(new o.IRtcEvent('end'));
											}
										})(t),
									!x.has(t.id))
								)
									return void a.default.warning('Cannot find a channel for incoming data.');
								x.get(t.id).onMessage(e, t);
							} else
								'stream' === e
									? 'add' === t.status
										? (function (e) {
												var t = U(e);
												E.set(t.id, t);
												var r = new h.StreamEvent('streamadded', { stream: t });
												i.dispatchEvent(r);
										  })(t.data)
										: 'remove' === t.status
										? (function (e) {
												if (E.has(e.id)) {
													var t = E.get(e.id),
														r = new o.IRtcEvent('ended');
													E.delete(t.id), t.dispatchEvent(r);
												} else a.default.warning('Cannot find specific remote stream.');
										  })(t)
										: 'update' === t.status &&
										  (Array.isArray(t.data)
												? (function (e) {
														if (E.has(e.id)) {
															var t = E.get(e.id);
															e.data.forEach(function (e) {
																for (var r = e.field.split('.'), n = t, i = 0; i < r.length - 1; i++) n = n[r[i]];
																n[r[r.length - 1]] = e.value;
															});
															var r = new h.StreamUpdatedEvent({ info: e.data });
															t.dispatchEvent(r);
														} else a.default.warning('Cannot find specific remote stream.');
												  })(t)
												: 'audio.status' === t.data.field || 'video.status' === t.data.field
												? x.forEach(function (r) {
														r.onMessage(e, t);
												  })
												: 'activeInput' === t.data.field
												? (function (e) {
														if (E.has(e.id)) {
															var t = E.get(e.id),
																r = new b.ActiveAudioInputChangeEvent('activeaudioinputchange', { activeAudioInputStreamId: e.data.value });
															t.dispatchEvent(r);
														} else a.default.warning('Cannot find specific remote stream.');
												  })(t)
												: 'video.layout' === t.data.field
												? (function (e) {
														if (E.has(e.id)) {
															var t = E.get(e.id),
																r = new b.LayoutChangeEvent('layoutchange', { layout: e.data.value });
															t.dispatchEvent(r);
														} else a.default.warning('Cannot find specific remote stream.');
												  })(t)
												: '.' === t.data.field
												? (function (e) {
														if (E.has(e.id)) {
															var t = E.get(e.id);
															(t.settings = m.convertToPublicationSettings(e.media)), (t.capabilities = m.convertToSubscriptionCapabilities(e.media));
															var r = new o.IRtcEvent('updated');
															t.dispatchEvent(r);
														} else a.default.warning('Cannot find specific remote stream.');
												  })(t.data.value)
												: a.default.warning('Unknown stream event from MCU.'))
									: 'text' === e
									? (function (e) {
											var t = new o.MessageEvent('messagereceived', { message: e.message, origin: e.from, to: e.to });
											i.dispatchEvent(t);
									  })(t)
									: 'participant' === e
									? (function (e) {
											if ('join' === e.action) {
												e = e.data;
												var t = new p.Participant(e.id, e.role, e.user);
												P.set(e.id, t);
												var r = new A('participantjoined', { participant: t });
												i.dispatchEvent(r);
											} else if ('leave' === e.action) {
												var n = e.data;
												if (!P.has(n)) return void a.default.warning('Received leave message from MCU for an unknown participant.');
												var s = P.get(n);
												P.delete(n), s.dispatchEvent(new o.IRtcEvent('left'));
											}
									  })(t)
									: 'asr' === e
									? (function (e) {
											if (E.has(e.streamId)) {
												var t = E.get(e.streamId),
													r = new h.AsrEvent({ info: e });
												t.dispatchEvent(r);
											} else a.default.warning('Cannot find specific remote stream.');
									  })(t)
									: 'coshow' === e &&
									  (function (e) {
											if ('add' === e.type) {
												var t = e.whiteboard.id,
													r = e.whiteboard.owner,
													n = e.whiteboard.name,
													s = e.whiteboard.uri,
													a = e.whiteboard.attributes,
													u = new g.Whiteboard(t, r, n, s, a);
												B.set(u.id, u);
												var c = new R('whiteboardadded', { whiteboard: u });
												i.dispatchEvent(c);
											} else if ('remove' === e.type) {
												var f = e.whiteboard.id,
													l = B.get(f);
												B.delete(f), l.dispatchEvent(new o.IRtcEvent('remove'));
											} else if ('update' === e.type) {
												var h = e.whiteboard.id,
													p = e.data,
													d = M.get(h);
												d && d.contentWindow && d.contentWindow.onUpdate && d.contentWindow.onUpdate(p);
											}
									  })(t);
						}
						function U(e) {
							if ('mixed' === e.type) return new b.RemoteMixedStream(e);
							var t = { source: void 0, status: void 0 },
								r = { source: void 0, status: void 0 };
							e.media.audio && (t = { source: e.media.audio.source, status: e.media.audio.status }),
								e.media.video && (r = { source: e.media.video.source, status: e.media.video.status });
							var n = new h.RemoteStream(e.id, e.info.owner, void 0, new h.StreamSourceInfo(t, r), e.info.attributes);
							return (n.settings = m.convertToPublicationSettings(e.media)), (n.capabilities = m.convertToSubscriptionCapabilities(e.media)), n;
						}
						function q(e, t) {
							return _.send(e, t);
						}
						function Y() {
							var t = Object.create(o.EventDispatcher);
							t.sendSignalingMessage = q;
							var r = function () {
								t.onreconnected && t.onreconnected();
							};
							_.addEventListener('reconnected', r),
								(t.onStop = function () {
									_.removeEventListener('reconnected', r);
								});
							var n = new y.ConferencePeerConnectionChannel(e, t);
							return (
								n.addEventListener('id', function (e) {
									x.set(e.message, n);
								}),
								n.addEventListener('ended', function () {
									x.forEach(function (e, t) {
										e == n && x.delete(t);
									});
								}),
								n
							);
						}
						function F() {
							O.clear(), P.clear(), E.clear(), B.clear(), M.clear(), N.splice(0, N.length);
						}
						_.addEventListener('data', function (e) {
							L(e.message.notification, e.message.data);
						}),
							_.addEventListener('reconnected', function () {
								i.dispatchEvent(new o.IRtcEvent('serverreconnected'));
							}),
							_.addEventListener('disconnect', function () {
								F(), (w = S.READY), i.dispatchEvent(new o.IRtcEvent('serverdisconnected'));
							}),
							Object.defineProperty(this, 'info', {
								configurable: !1,
								get: function () {
									return n ? new v.ConferenceInfo(n.id, Array.from(P.values()), Array.from(E.values()), Array.from(B.values()), r) : null;
								}
							}),
							(this.setHostInfo = function (e) {
								if (!(e instanceof c.HostInfo)) return Promise.reject(new f.ConferenceError('Invalid info.'));
								I = e;
							}),
							(this.join = function (e) {
								return new Promise(function (t, i) {
									var o = JSON.parse(u.Base64.decodeBase64(e)),
										s = !0 === o.secure,
										a = o.host;
									if ('string' == typeof a)
										if ((-1 === a.indexOf('http') && (a = s ? 'https://' + a : 'http://' + a), w === S.READY)) {
											w = S.CONNECTING;
											var h = { token: e, userAgent: l.sysInfo(), protocol: '1.0', hostInfo: {} };
											if (I && I instanceof c.HostInfo) {
												if ((I.ip && (h.hostInfo.ip = I.ip), I.location)) {
													var d = {};
													void 0 !== I.location.lat && (d.lat = I.location.lat), void 0 !== I.location.lng && (d.lng = I.location.lng), (h.hostInfo.location = d);
												}
												if (I.address) {
													var y = {};
													void 0 !== I.address.nation && (y.nation = I.address.nation),
														void 0 !== I.address.province && (y.province = I.address.province),
														void 0 !== I.address.city && (y.city = I.address.city),
														void 0 !== I.address.district && (y.district = I.address.district),
														void 0 !== I.address.code && (y.code = I.address.code),
														(h.hostInfo.address = y);
												}
											}
											_.connect(a, s, h).then(
												function (e) {
													if (((w = S.CONNECTED), void 0 !== (n = e.room).streams)) {
														var i,
															o = k(n.streams);
														try {
															for (o.s(); !(i = o.n()).done; ) {
																var s = i.value;
																'mixed' === s.type && (s.viewport = s.info.label), E.set(s.id, U(s));
															}
														} catch (e) {
															o.e(e);
														} finally {
															o.f();
														}
													}
													if (e.room && void 0 !== e.room.participants) {
														var a,
															u = k(e.room.participants);
														try {
															for (u.s(); !(a = u.n()).done; ) {
																var c = a.value;
																P.set(c.id, new p.Participant(c.id, c.role, c.user)), c.id === e.id && (r = P.get(c.id));
															}
														} catch (e) {
															u.e(e);
														} finally {
															u.f();
														}
													}
													if (e.room && e.room.whiteboards) {
														var f,
															l = k(e.room.whiteboards);
														try {
															for (l.s(); !(f = l.n()).done; ) {
																var h = f.value;
																B.set(h.id, new g.Whiteboard(h.id, h.owner, h.name, h.uri, h.attributes));
															}
														} catch (e) {
															l.e(e);
														} finally {
															l.f();
														}
													}
													t(new v.ConferenceInfo(e.room.id, Array.from(P.values()), Array.from(E.values()), Array.from(B.values()), r));
												},
												function (e) {
													(w = S.READY), i(new f.ConferenceError(e));
												}
											);
										} else i(new f.ConferenceError('connection state invalid'));
									else i(new f.ConferenceError('Invalid host.'));
								});
							}),
							(this.publish = function (e, t) {
								if (!D()) return Promise.reject(new f.ConferenceError('Conference server is not connected.'));
								if (!(e instanceof h.LocalStream)) return Promise.reject(new f.ConferenceError('Invalid stream.'));
								var r = Y();
								return (
									j.push(r),
									r.addEventListener('ended', function () {
										var e = j.indexOf(r);
										e > -1 && j.splice(e, 1);
									}),
									r.publish(e, t)
								);
							}),
							(this.subscribe = function (e, t) {
								if (!D()) return Promise.reject(new f.ConferenceError('Conference server is not connected.'));
								if (!(e instanceof h.RemoteStream)) return Promise.reject(new f.ConferenceError('Invalid stream.'));
								var r = Y();
								return (
									T.push(r),
									r.addEventListener('ended', function () {
										var e = T.indexOf(r);
										e > -1 && T.splice(e, 1);
									}),
									r.subscribe(e, t)
								);
							}),
							(this.send = function (e, t) {
								return D() ? (void 0 === t && (t = 'all'), q('text', { to: t, message: e })) : Promise.reject(new f.ConferenceError('Conference server is not connected.'));
							}),
							(this.createWhiteboard = function (e, t, n) {
								return new Promise(function (i, o) {
									return D()
										? 'string' != typeof e
											? o(new TypeError('name should be a string.'))
											: 'string' != typeof t
											? o(new TypeError('uri should be a string.'))
											: void q('coshow', { name: e, uri: t, attributes: n, action: 'create' })
													.then(function (o) {
														var s = new g.Whiteboard(o.id, r.id, e, t, n);
														i(s);
													})
													.catch(function (e) {
														a.default.info(e), o(new f.ConferenceError(e));
													})
										: o(new f.ConferenceError('Conference server is not connected.'));
								});
							}),
							(this.startWhiteboard = function (e) {
								return new Promise(function (t, n) {
									return D()
										? e instanceof g.Whiteboard
											? void q('coshow', { id: e.id, action: 'start' })
													.then(function (n) {
														N.push(B.get(e.id));
														var i = document.createElement('iframe');
														(i.src = n.uri),
															(i.height = '100%'),
															(i.width = '100%'),
															(i.id = n.id),
															M.set(n.id, i),
															(i.onStart = !0),
															(window[n.id] = function (t) {
																var n = JSON.parse(t);
																'load' === n.method
																	? i.contentWindow.onStart({ owner: e.owner, user: r.id })
																	: 'update' === n.method
																	? q('coshow', { id: e.id, action: 'update', data: n.data })
																	: 'snapshot' === n.method
																	? i.snapshotCallback &&
																	  i.snapshotCallback.length > 0 &&
																	  i.snapshotCallback.shift()({ metaData: n.metaData, front: n.front, background: n.background })
																	: a.default.warning('unknow message from whiteboard:', t);
															}),
															t(i);
													})
													.catch(function (e) {
														a.default.info(e), n(new f.ConferenceError(e));
													})
											: n(new TypeError('whiteboard should be Whiteboard type.'))
										: n(new f.ConferenceError('Conference server is not connected.'));
								});
							}),
							(this.snapshot = function (e) {
								return new Promise(function (t, r) {
									if (!D()) return r(new f.ConferenceError('Conference server is not connected.'));
									if (!(e instanceof g.Whiteboard)) return r(new TypeError('whiteboard should be Whiteboard type.'));
									var n = e.id,
										i = M.get(n);
									i.contentWindow.onSnapshot
										? (i.snapshotCallback || (i.snapshotCallback = []), i.snapshotCallback.push(t), i.contentWindow.onSnapshot())
										: r(new TypeError('whiteboard does not support snapshot.'));
								});
							}),
							(this.stopWhiteboard = function (e) {
								return new Promise(function (t, r) {
									return D()
										? e instanceof g.Whiteboard
											? void q('coshow', { id: e.id, action: 'stop' })
													.then(function (r) {
														N.includes(B.get(e.id)) && N.splice(N.indexOf(B.get(e.id)), 1), M.get(r.id) && M.delete(r.id), t(B.get(r.id));
													})
													.catch(function (e) {
														a.default.info(e), r(new f.ConferenceError(e));
													})
											: r(new TypeError('whiteboard should be Whiteboard type.'))
										: r(new f.ConferenceError('Conference server is not connected.'));
								});
							}),
							(this.removeWhiteboard = function (e) {
								return new Promise(function (t, r) {
									return D()
										? e instanceof g.Whiteboard
											? void q('coshow', { id: e.id, action: 'remove' })
													.then(function (e) {
														t(B.get(e.id));
													})
													.catch(function (e) {
														a.default.info(e), r(new f.ConferenceError(e));
													})
											: r(new TypeError('whiteboard should be Whiteboard type.'))
										: r(new f.ConferenceError('Conference server is not connected.'));
								});
							}),
							(this.leave = function () {
								var e = this;
								return (
									j.forEach(function (e) {
										e._unpublish();
									}),
									j.splice(0, j.length),
									T.forEach(function (e) {
										e._unsubscribe();
									}),
									T.splice(0, T.length),
									N.forEach(function (t) {
										e.stopWhiteboard(t);
									}),
									_.disconnect().then(function () {
										F(), (w = S.READY);
									})
								);
							});
					};
				},
				{
					'../base/base64.js': 16,
					'../base/event.js': 18,
					'../base/logger.js': 20,
					'../base/stream.js': 26,
					'../base/utils.js': 27,
					'./channel.js': 28,
					'./error.js': 30,
					'./hostinfo.js': 32,
					'./info.js': 33,
					'./mixedstream.js': 34,
					'./participant.js': 35,
					'./session.js': 36,
					'./signaling.js': 37,
					'./streamutils.js': 38,
					'./whiteboard.js': 40,
					'@babel/runtime/helpers/classCallCheck': 2,
					'@babel/runtime/helpers/createClass': 4,
					'@babel/runtime/helpers/interopRequireDefault': 7,
					'@babel/runtime/helpers/typeof': 12
				}
			],
			30: [
				function (e, t, r) {
					'use strict';
					var n = e('@babel/runtime/helpers/interopRequireDefault');
					Object.defineProperty(r, '__esModule', { value: !0 }), (r.ConferenceError = void 0);
					var i = n(e('@babel/runtime/helpers/createClass')),
						o = n(e('@babel/runtime/helpers/classCallCheck')),
						s = n(e('@babel/runtime/helpers/inherits')),
						a = n(e('@babel/runtime/helpers/possibleConstructorReturn')),
						u = n(e('@babel/runtime/helpers/getPrototypeOf'));
					function c(e) {
						var t = (function () {
							if ('undefined' == typeof Reflect || !Reflect.construct) return !1;
							if (Reflect.construct.sham) return !1;
							if ('function' == typeof Proxy) return !0;
							try {
								return Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})), !0;
							} catch (e) {
								return !1;
							}
						})();
						return function () {
							var r,
								n = (0, u.default)(e);
							if (t) {
								var i = (0, u.default)(this).constructor;
								r = Reflect.construct(n, arguments, i);
							} else r = n.apply(this, arguments);
							return (0, a.default)(this, r);
						};
					}
					var f = (function (e) {
						(0, s.default)(r, e);
						var t = c(r);
						function r(e) {
							return (0, o.default)(this, r), t.call(this, e);
						}
						return (0, i.default)(r);
					})((0, n(e('@babel/runtime/helpers/wrapNativeSuper')).default)(Error));
					r.ConferenceError = f;
				},
				{
					'@babel/runtime/helpers/classCallCheck': 2,
					'@babel/runtime/helpers/createClass': 4,
					'@babel/runtime/helpers/getPrototypeOf': 5,
					'@babel/runtime/helpers/inherits': 6,
					'@babel/runtime/helpers/interopRequireDefault': 7,
					'@babel/runtime/helpers/possibleConstructorReturn': 10,
					'@babel/runtime/helpers/wrapNativeSuper': 13
				}
			],
			31: [
				function (e, t, r) {
					'use strict';
					Object.defineProperty(r, '__esModule', { value: !0 });
					var n = { ConferenceClient: !0, SioSignaling: !0 };
					Object.defineProperty(r, 'ConferenceClient', {
						enumerable: !0,
						get: function () {
							return i.ConferenceClient;
						}
					}),
						Object.defineProperty(r, 'SioSignaling', {
							enumerable: !0,
							get: function () {
								return o.SioSignaling;
							}
						});
					var i = e('./client.js'),
						o = e('./signaling.js'),
						s = e('./hostinfo.js');
					Object.keys(s).forEach(function (e) {
						'default' !== e &&
							'__esModule' !== e &&
							(Object.prototype.hasOwnProperty.call(n, e) ||
								(e in r && r[e] === s[e]) ||
								Object.defineProperty(r, e, {
									enumerable: !0,
									get: function () {
										return s[e];
									}
								}));
					});
				},
				{ './client.js': 29, './hostinfo.js': 32, './signaling.js': 37 }
			],
			32: [
				function (e, t, r) {
					'use strict';
					var n = e('@babel/runtime/helpers/interopRequireDefault');
					Object.defineProperty(r, '__esModule', { value: !0 }), (r.LocationInfo = r.HostInfo = r.AddressInfo = void 0);
					var i = n(e('@babel/runtime/helpers/createClass')),
						o = n(e('@babel/runtime/helpers/classCallCheck')),
						s = (0, i.default)(function e(t, r) {
							if (((0, o.default)(this, e), void 0 !== t && 'number' != typeof t)) throw new TypeError('Invalid lat.');
							if (void 0 !== r && 'number' != typeof r) throw new TypeError('Invalid lng.');
							Object.defineProperty(this, 'lat', { configurable: !1, writable: !0, value: t }), Object.defineProperty(this, 'lng', { configurable: !1, writable: !0, value: r });
						});
					r.LocationInfo = s;
					var a = (0, i.default)(function e(t, r, n, i, s) {
						if (((0, o.default)(this, e), void 0 !== t && 'string' != typeof t)) throw new TypeError('Invalid nation.');
						if (void 0 !== r && 'string' != typeof r) throw new TypeError('Invalid province.');
						if (void 0 !== n && 'string' != typeof n) throw new TypeError('Invalid city.');
						if (void 0 !== i && 'string' != typeof i) throw new TypeError('Invalid district.');
						if (void 0 !== s && 'number' != typeof s) throw new TypeError('Invalid code.');
						Object.defineProperty(this, 'nation', { configurable: !1, writable: !0, value: t }),
							Object.defineProperty(this, 'province', { configurable: !1, writable: !0, value: r }),
							Object.defineProperty(this, 'city', { configurable: !1, writable: !0, value: n }),
							Object.defineProperty(this, 'district', { configurable: !1, writable: !0, value: i }),
							Object.defineProperty(this, 'code', { configurable: !1, writable: !0, value: s });
					});
					r.AddressInfo = a;
					var u = (0, i.default)(function e(t, r, n) {
						if (((0, o.default)(this, e), void 0 !== t && 'string' != typeof t)) throw new TypeError('Invalid ip.');
						if (void 0 !== r && !(r instanceof s)) throw new TypeError('Invalid location.');
						if (void 0 !== n && !(n instanceof a)) throw new TypeError('Invalid location.');
						Object.defineProperty(this, 'ip', { configurable: !1, writable: !0, value: t }),
							Object.defineProperty(this, 'location', { configurable: !1, writable: !0, value: r }),
							Object.defineProperty(this, 'address', { configurable: !1, writable: !0, value: n });
					});
					r.HostInfo = u;
				},
				{ '@babel/runtime/helpers/classCallCheck': 2, '@babel/runtime/helpers/createClass': 4, '@babel/runtime/helpers/interopRequireDefault': 7 }
			],
			33: [
				function (e, t, r) {
					'use strict';
					var n = e('@babel/runtime/helpers/interopRequireDefault');
					Object.defineProperty(r, '__esModule', { value: !0 }), (r.ConferenceInfo = void 0);
					var i = n(e('@babel/runtime/helpers/createClass')),
						o = n(e('@babel/runtime/helpers/classCallCheck')),
						s = (0, i.default)(function e(t, r, n, i, s) {
							(0, o.default)(this, e), (this.id = t), (this.participants = r), (this.remoteStreams = n), (this.whiteboards = i), (this.self = s);
						});
					r.ConferenceInfo = s;
				},
				{ '@babel/runtime/helpers/classCallCheck': 2, '@babel/runtime/helpers/createClass': 4, '@babel/runtime/helpers/interopRequireDefault': 7 }
			],
			34: [
				function (e, t, r) {
					'use strict';
					var n = e('@babel/runtime/helpers/interopRequireDefault'),
						i = e('@babel/runtime/helpers/typeof');
					Object.defineProperty(r, '__esModule', { value: !0 }), (r.RemoteMixedStream = r.LayoutChangeEvent = r.ActiveAudioInputChangeEvent = void 0);
					var o = n(e('@babel/runtime/helpers/createClass')),
						s = n(e('@babel/runtime/helpers/classCallCheck')),
						a = n(e('@babel/runtime/helpers/inherits')),
						u = n(e('@babel/runtime/helpers/possibleConstructorReturn')),
						c = n(e('@babel/runtime/helpers/getPrototypeOf')),
						f = d(e('../base/stream.js')),
						l = d(e('./streamutils.js')),
						h = e('../base/event.js');
					function p(e) {
						if ('function' != typeof WeakMap) return null;
						var t = new WeakMap(),
							r = new WeakMap();
						return (p = function (e) {
							return e ? r : t;
						})(e);
					}
					function d(e, t) {
						if (!t && e && e.__esModule) return e;
						if (null === e || ('object' !== i(e) && 'function' != typeof e)) return { default: e };
						var r = p(t);
						if (r && r.has(e)) return r.get(e);
						var n = {},
							o = Object.defineProperty && Object.getOwnPropertyDescriptor;
						for (var s in e)
							if ('default' !== s && Object.prototype.hasOwnProperty.call(e, s)) {
								var a = o ? Object.getOwnPropertyDescriptor(e, s) : null;
								a && (a.get || a.set) ? Object.defineProperty(n, s, a) : (n[s] = e[s]);
							}
						return (n.default = e), r && r.set(e, n), n;
					}
					function v(e) {
						var t = (function () {
							if ('undefined' == typeof Reflect || !Reflect.construct) return !1;
							if (Reflect.construct.sham) return !1;
							if ('function' == typeof Proxy) return !0;
							try {
								return Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})), !0;
							} catch (e) {
								return !1;
							}
						})();
						return function () {
							var r,
								n = (0, c.default)(e);
							if (t) {
								var i = (0, c.default)(this).constructor;
								r = Reflect.construct(n, arguments, i);
							} else r = n.apply(this, arguments);
							return (0, u.default)(this, r);
						};
					}
					var y = (function (e) {
						(0, a.default)(r, e);
						var t = v(r);
						function r(e) {
							var n;
							if (((0, s.default)(this, r), 'mixed' !== e.type)) throw new TypeError('Not a mixed stream');
							return (
								((n = t.call(this, e.id, void 0, void 0, new f.StreamSourceInfo('mixed', 'mixed'))).settings = l.convertToPublicationSettings(e.media)),
								(n.capabilities = new l.convertToSubscriptionCapabilities(e.media)),
								n
							);
						}
						return (0, o.default)(r);
					})(f.RemoteStream);
					r.RemoteMixedStream = y;
					var b = (function (e) {
						(0, a.default)(r, e);
						var t = v(r);
						function r(e, n) {
							var i;
							return (0, s.default)(this, r), ((i = t.call(this, e)).activeAudioInputStreamId = n.activeAudioInputStreamId), i;
						}
						return (0, o.default)(r);
					})(h.IRtcEvent);
					r.ActiveAudioInputChangeEvent = b;
					var m = (function (e) {
						(0, a.default)(r, e);
						var t = v(r);
						function r(e, n) {
							var i;
							return (0, s.default)(this, r), ((i = t.call(this, e)).layout = n.layout), i;
						}
						return (0, o.default)(r);
					})(h.IRtcEvent);
					r.LayoutChangeEvent = m;
				},
				{
					'../base/event.js': 18,
					'../base/stream.js': 26,
					'./streamutils.js': 38,
					'@babel/runtime/helpers/classCallCheck': 2,
					'@babel/runtime/helpers/createClass': 4,
					'@babel/runtime/helpers/getPrototypeOf': 5,
					'@babel/runtime/helpers/inherits': 6,
					'@babel/runtime/helpers/interopRequireDefault': 7,
					'@babel/runtime/helpers/possibleConstructorReturn': 10,
					'@babel/runtime/helpers/typeof': 12
				}
			],
			35: [
				function (e, t, r) {
					'use strict';
					var n = e('@babel/runtime/helpers/interopRequireDefault'),
						i = e('@babel/runtime/helpers/typeof');
					Object.defineProperty(r, '__esModule', { value: !0 }), (r.Participant = void 0);
					var o = n(e('@babel/runtime/helpers/createClass')),
						s = n(e('@babel/runtime/helpers/classCallCheck')),
						a = n(e('@babel/runtime/helpers/assertThisInitialized')),
						u = n(e('@babel/runtime/helpers/inherits')),
						c = n(e('@babel/runtime/helpers/possibleConstructorReturn')),
						f = n(e('@babel/runtime/helpers/getPrototypeOf'));
					function l(e) {
						if ('function' != typeof WeakMap) return null;
						var t = new WeakMap(),
							r = new WeakMap();
						return (l = function (e) {
							return e ? r : t;
						})(e);
					}
					function h(e) {
						var t = (function () {
							if ('undefined' == typeof Reflect || !Reflect.construct) return !1;
							if (Reflect.construct.sham) return !1;
							if ('function' == typeof Proxy) return !0;
							try {
								return Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})), !0;
							} catch (e) {
								return !1;
							}
						})();
						return function () {
							var r,
								n = (0, f.default)(e);
							if (t) {
								var i = (0, f.default)(this).constructor;
								r = Reflect.construct(n, arguments, i);
							} else r = n.apply(this, arguments);
							return (0, c.default)(this, r);
						};
					}
					var p = (function (e) {
						(0, u.default)(r, e);
						var t = h(r);
						function r(e, n, i) {
							var o;
							return (
								(0, s.default)(this, r),
								(o = t.call(this)),
								Object.defineProperty((0, a.default)(o), 'id', { configurable: !1, writable: !1, value: e }),
								Object.defineProperty((0, a.default)(o), 'role', { configurable: !1, writable: !1, value: n }),
								Object.defineProperty((0, a.default)(o), 'userId', { configurable: !1, writable: !1, value: i }),
								o
							);
						}
						return (0, o.default)(r);
					})(
						(function (e, t) {
							if (!t && e && e.__esModule) return e;
							if (null === e || ('object' !== i(e) && 'function' != typeof e)) return { default: e };
							var r = l(t);
							if (r && r.has(e)) return r.get(e);
							var n = {},
								o = Object.defineProperty && Object.getOwnPropertyDescriptor;
							for (var s in e)
								if ('default' !== s && Object.prototype.hasOwnProperty.call(e, s)) {
									var a = o ? Object.getOwnPropertyDescriptor(e, s) : null;
									a && (a.get || a.set) ? Object.defineProperty(n, s, a) : (n[s] = e[s]);
								}
							(n.default = e), r && r.set(e, n);
							return n;
						})(e('../base/event.js')).EventDispatcher
					);
					r.Participant = p;
				},
				{
					'../base/event.js': 18,
					'@babel/runtime/helpers/assertThisInitialized': 1,
					'@babel/runtime/helpers/classCallCheck': 2,
					'@babel/runtime/helpers/createClass': 4,
					'@babel/runtime/helpers/getPrototypeOf': 5,
					'@babel/runtime/helpers/inherits': 6,
					'@babel/runtime/helpers/interopRequireDefault': 7,
					'@babel/runtime/helpers/possibleConstructorReturn': 10,
					'@babel/runtime/helpers/typeof': 12
				}
			],
			36: [
				function (e, t, r) {
					'use strict';
					var n = e('@babel/runtime/helpers/interopRequireDefault'),
						i = e('@babel/runtime/helpers/typeof');
					Object.defineProperty(r, '__esModule', { value: !0 }), (r.Session = void 0);
					var o = n(e('@babel/runtime/helpers/createClass')),
						s = n(e('@babel/runtime/helpers/classCallCheck')),
						a = n(e('@babel/runtime/helpers/assertThisInitialized')),
						u = n(e('@babel/runtime/helpers/inherits')),
						c = n(e('@babel/runtime/helpers/possibleConstructorReturn')),
						f = n(e('@babel/runtime/helpers/getPrototypeOf'));
					function l(e) {
						if ('function' != typeof WeakMap) return null;
						var t = new WeakMap(),
							r = new WeakMap();
						return (l = function (e) {
							return e ? r : t;
						})(e);
					}
					function h(e) {
						var t = (function () {
							if ('undefined' == typeof Reflect || !Reflect.construct) return !1;
							if (Reflect.construct.sham) return !1;
							if ('function' == typeof Proxy) return !0;
							try {
								return Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})), !0;
							} catch (e) {
								return !1;
							}
						})();
						return function () {
							var r,
								n = (0, f.default)(e);
							if (t) {
								var i = (0, f.default)(this).constructor;
								r = Reflect.construct(n, arguments, i);
							} else r = n.apply(this, arguments);
							return (0, c.default)(this, r);
						};
					}
					var p = (function (e) {
						(0, u.default)(r, e);
						var t = h(r);
						function r(e) {
							var n;
							return (0, s.default)(this, r), (n = t.call(this)), Object.defineProperty((0, a.default)(n), 'id', { configurable: !1, writable: !1, value: e }), n;
						}
						return (0, o.default)(r);
					})(
						(function (e, t) {
							if (!t && e && e.__esModule) return e;
							if (null === e || ('object' !== i(e) && 'function' != typeof e)) return { default: e };
							var r = l(t);
							if (r && r.has(e)) return r.get(e);
							var n = {},
								o = Object.defineProperty && Object.getOwnPropertyDescriptor;
							for (var s in e)
								if ('default' !== s && Object.prototype.hasOwnProperty.call(e, s)) {
									var a = o ? Object.getOwnPropertyDescriptor(e, s) : null;
									a && (a.get || a.set) ? Object.defineProperty(n, s, a) : (n[s] = e[s]);
								}
							(n.default = e), r && r.set(e, n);
							return n;
						})(e('../base/event.js')).EventDispatcher
					);
					r.Session = p;
				},
				{
					'../base/event.js': 18,
					'@babel/runtime/helpers/assertThisInitialized': 1,
					'@babel/runtime/helpers/classCallCheck': 2,
					'@babel/runtime/helpers/createClass': 4,
					'@babel/runtime/helpers/getPrototypeOf': 5,
					'@babel/runtime/helpers/inherits': 6,
					'@babel/runtime/helpers/interopRequireDefault': 7,
					'@babel/runtime/helpers/possibleConstructorReturn': 10,
					'@babel/runtime/helpers/typeof': 12
				}
			],
			37: [
				function (e, t, r) {
					'use strict';
					var n = e('@babel/runtime/helpers/interopRequireDefault'),
						i = e('@babel/runtime/helpers/typeof');
					Object.defineProperty(r, '__esModule', { value: !0 }), (r.SioSignaling = void 0);
					var o = n(e('@babel/runtime/helpers/classCallCheck')),
						s = n(e('@babel/runtime/helpers/createClass')),
						a = n(e('@babel/runtime/helpers/inherits')),
						u = n(e('@babel/runtime/helpers/possibleConstructorReturn')),
						c = n(e('@babel/runtime/helpers/getPrototypeOf')),
						f = n(e('../base/logger.js')),
						l = m(e('../base/event.js')),
						h = e('./error.js'),
						p = m(e('../base/utils.js')),
						d = e('../base/base64.js'),
						v = n(e('../../dependencies/socket.io.js')),
						y = n(e('../../dependencies/weapp.socket.io.js'));
					function b(e) {
						if ('function' != typeof WeakMap) return null;
						var t = new WeakMap(),
							r = new WeakMap();
						return (b = function (e) {
							return e ? r : t;
						})(e);
					}
					function m(e, t) {
						if (!t && e && e.__esModule) return e;
						if (null === e || ('object' !== i(e) && 'function' != typeof e)) return { default: e };
						var r = b(t);
						if (r && r.has(e)) return r.get(e);
						var n = {},
							o = Object.defineProperty && Object.getOwnPropertyDescriptor;
						for (var s in e)
							if ('default' !== s && Object.prototype.hasOwnProperty.call(e, s)) {
								var a = o ? Object.getOwnPropertyDescriptor(e, s) : null;
								a && (a.get || a.set) ? Object.defineProperty(n, s, a) : (n[s] = e[s]);
							}
						return (n.default = e), r && r.set(e, n), n;
					}
					function g(e, t) {
						var r = ('undefined' != typeof Symbol && e[Symbol.iterator]) || e['@@iterator'];
						if (!r) {
							if (
								Array.isArray(e) ||
								(r = (function (e, t) {
									if (!e) return;
									if ('string' == typeof e) return w(e, t);
									var r = Object.prototype.toString.call(e).slice(8, -1);
									'Object' === r && e.constructor && (r = e.constructor.name);
									if ('Map' === r || 'Set' === r) return Array.from(e);
									if ('Arguments' === r || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)) return w(e, t);
								})(e)) ||
								(t && e && 'number' == typeof e.length)
							) {
								r && (e = r);
								var n = 0,
									i = function () {};
								return {
									s: i,
									n: function () {
										return n >= e.length ? { done: !0 } : { done: !1, value: e[n++] };
									},
									e: function (e) {
										throw e;
									},
									f: i
								};
							}
							throw new TypeError('Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.');
						}
						var o,
							s = !0,
							a = !1;
						return {
							s: function () {
								r = r.call(e);
							},
							n: function () {
								var e = r.next();
								return (s = e.done), e;
							},
							e: function (e) {
								(a = !0), (o = e);
							},
							f: function () {
								try {
									s || null == r.return || r.return();
								} finally {
									if (a) throw o;
								}
							}
						};
					}
					function w(e, t) {
						(null == t || t > e.length) && (t = e.length);
						for (var r = 0, n = new Array(t); r < t; r++) n[r] = e[r];
						return n;
					}
					function _(e) {
						var t = (function () {
							if ('undefined' == typeof Reflect || !Reflect.construct) return !1;
							if (Reflect.construct.sham) return !1;
							if ('function' == typeof Proxy) return !0;
							try {
								return Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})), !0;
							} catch (e) {
								return !1;
							}
						})();
						return function () {
							var r,
								n = (0, c.default)(e);
							if (t) {
								var i = (0, c.default)(this).constructor;
								r = Reflect.construct(n, arguments, i);
							} else r = n.apply(this, arguments);
							return (0, u.default)(this, r);
						};
					}
					function k(e, t, r, n) {
						'ok' === e || 'success' === e ? r(t) : 'error' === e ? n(t) : f.default.error('MCU returns unknown ack.');
					}
					var E = (function (e) {
						(0, a.default)(r, e);
						var t = _(r);
						function r(e) {
							var n;
							return (
								(0, o.default)(this, r),
								((n = t.call(this))._config = e || {}),
								(n._socket = null),
								(n._loggedIn = !1),
								(n._reconnectTimes = 0),
								(n._reconnectionTicket = null),
								(n._refreshReconnectionTicket = null),
								(n._cacheMsgs = []),
								n
							);
						}
						return (
							(0, s.default)(r, [
								{
									key: 'connect',
									value: function (e, t, r) {
										var n = this,
											i = ['polling', 'websocket'],
											o = ['websocket'],
											s = [];
										return new Promise(function (t, a) {
											var u = {
													reconnection: !0,
													reconnectionAttempts: 10,
													reconnectionDelay: 1e3,
													reconnectionDelayMax: 5e3,
													timeout: 1e4,
													forceNew: !0,
													transports: o,
													query: {}
												},
												c = n._config;
											if (c) {
												if (
													(c.reconnection && 'boolean' == typeof c.reconnection && (u.reconnection = c.reconnection),
													c.reconnectionAttempts &&
														'number' == typeof c.reconnectionAttempts &&
														c.reconnectionAttempts !== 1 / 0 &&
														!isNaN(c.reconnectionAttempts) &&
														(u.reconnectionAttempts = c.reconnectionAttempts),
													c.reconnectionDelay &&
														'number' == typeof c.reconnectionDelay &&
														c.reconnectionDelay !== 1 / 0 &&
														!isNaN(c.reconnectionDelay) &&
														(u.reconnectionDelay = c.reconnectionDelay),
													c.reconnectionDelayMax &&
														'number' == typeof c.reconnectionDelayMax &&
														c.reconnectionDelayMax !== 1 / 0 &&
														!isNaN(c.reconnectionDelayMax) &&
														(u.reconnectionDelayMax = c.reconnectionDelayMax),
													c.forceNew && 'boolean' == typeof c.forceNew && (u.forceNew = c.forceNew),
													c.timeout && 'number' == typeof c.timeout && c.timeout !== 1 / 0 && !isNaN(c.timeout) && (u.timeout = c.timeout),
													c.transports)
												) {
													p.isString(c.transports)
														? s.push(c.transports)
														: p.isArray(c.transports)
														? (s = c.transports)
														: f.default.error('transports is error:' + c.transports);
													for (var h = 0; h < s.length; h++) i.indexOf(s[h]) < 0 && (f.default.error('unsupported transports:' + s[h]), s.splice(h, 1), h--);
													s.length > 0 && (u.transports = s);
												}
												c.query && (u.query = c.query),
													(c.query && c.query.forwardingMarker && 'string' == typeof c.query.forwardingMarker) ||
														(u.query.forwardingMarker = 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (e) {
															var t = (16 * Math.random()) | 0;
															return ('x' == e ? t : (3 & t) | 8).toString(16);
														})),
													(c.query && c.query.servicePath && 'string' == typeof c.query.servicePath) || (u.query.servicePath = '_zms_portal'),
													(n._config = u);
											}
											void 0 === v.default && 'weapp' === p.sysInfo().runtime.name ? (n._socket = (0, y.default)(e, u)) : (n._socket = (0, v.default)(e, u)),
												['participant', 'text', 'stream', 'progress', 'asr', 'coshow'].forEach(function (e) {
													n._socket.on(e, function (t) {
														n.dispatchEvent(new l.MessageEvent('data', { message: { notification: e, data: t } }));
													});
												}),
												n._socket.on('reconnecting', function () {
													n._reconnectTimes++;
												}),
												n._socket.on('reconnect_failed', function () {
													n._reconnectTimes >= u.reconnectionAttempts && n.dispatchEvent(new l.IRtcEvent('disconnect'));
												}),
												n._socket.on('connect_error', function (t) {
													f.default.warning('connect_error', t, new Date(), n._reconnectTimes),
														n._reconnectTimes >= u.reconnectionAttempts && ((n._loggedIn = !1), a('connect_error:'.concat(e)));
												}),
												n._socket.on('drop', function () {
													n._reconnectTimes = u.reconnectionAttempts;
												}),
												n._socket.on('disconnect', function () {
													n._clearReconnectionTask(), n._reconnectTimes >= u.reconnectionAttempts && ((n._loggedIn = !1), n.dispatchEvent(new l.IRtcEvent('disconnect')));
												}),
												n._socket.emit('login', r, function (e, r) {
													'ok' === e &&
														((n._loggedIn = !0),
														n._onReconnectionTicket(r.reconnectionTicket),
														n._socket.on('connect', function () {
															n._socket.emit('relogin', n._reconnectionTicket, function (e, r) {
																if ('ok' === e) {
																	if (n._cacheMsgs.length > 0) {
																		var i,
																			o = g(n._cacheMsgs);
																		try {
																			for (o.s(); !(i = o.n()).done; ) {
																				var s = i.value,
																					u = s.name,
																					c = s.data;
																				n._socket.emit(u, c, function (e, r) {
																					k(e, r, t, a);
																				});
																			}
																		} catch (e) {
																			o.e(e);
																		} finally {
																			o.f();
																		}
																		n._cacheMsgs = [];
																	}
																	n.dispatchEvent(new l.IRtcEvent('reconnected')), (n._reconnectTimes = 0), n._onReconnectionTicket(r);
																} else n.dispatchEvent(new l.IRtcEvent('disconnect'));
															});
														})),
														k(e, r, t, a);
												});
										});
									}
								},
								{
									key: 'disconnect',
									value: function () {
										var e = this;
										return !this._socket || this._socket.disconnected
											? Promise.reject(new h.ConferenceError('Portal is not connected.'))
											: new Promise(function (t, r) {
													e._socket.emit('logout', function (n, i) {
														(e._reconnectTimes = e._config.reconnectionAttempts), e._socket.disconnect(), k(n, i, t, r);
													});
											  });
									}
								},
								{
									key: 'send',
									value: function (e, t) {
										var r = this;
										return new Promise(function (n, i) {
											r._socket && r._socket.connected
												? r._socket.emit(e, t, function (e, t) {
														k(e, t, n, i);
												  })
												: r._cacheMsgs.push({ name: e, data: t });
										});
									}
								},
								{
									key: '_onReconnectionTicket',
									value: function (e) {
										var t = this;
										this._reconnectionTicket = e;
										var r = JSON.parse(d.Base64.decodeBase64(e)),
											n = Date.now();
										if (r.notAfter <= n - 1e4) f.default.warning('Reconnection ticket expires too soon.');
										else {
											var i = r.notAfter - n - 6e4;
											i < 0 && (i = r.notAfter - n - 1e4),
												this._clearReconnectionTask(),
												(this._refreshReconnectionTicket = setTimeout(function () {
													t._socket.emit('refreshReconnectionTicket', function (e, r) {
														'ok' === e ? t._onReconnectionTicket(r) : f.default.warning('Failed to refresh reconnection ticket.');
													});
												}, i));
										}
									}
								},
								{
									key: '_clearReconnectionTask',
									value: function () {
										clearTimeout(this._refreshReconnectionTicket), (this._refreshReconnectionTicket = null);
									}
								}
							]),
							r
						);
					})(l.EventDispatcher);
					r.SioSignaling = E;
				},
				{
					'../../dependencies/socket.io.js': 14,
					'../../dependencies/weapp.socket.io.js': 15,
					'../base/base64.js': 16,
					'../base/event.js': 18,
					'../base/logger.js': 20,
					'../base/utils.js': 27,
					'./error.js': 30,
					'@babel/runtime/helpers/classCallCheck': 2,
					'@babel/runtime/helpers/createClass': 4,
					'@babel/runtime/helpers/getPrototypeOf': 5,
					'@babel/runtime/helpers/inherits': 6,
					'@babel/runtime/helpers/interopRequireDefault': 7,
					'@babel/runtime/helpers/possibleConstructorReturn': 10,
					'@babel/runtime/helpers/typeof': 12
				}
			],
			38: [
				function (e, t, r) {
					'use strict';
					var n = e('@babel/runtime/helpers/typeof');
					Object.defineProperty(r, '__esModule', { value: !0 }),
						(r.convertToPublicationSettings = function (e) {
							var t, r, n, a, u, c, f, l;
							e.audio &&
								(e.audio.format && (r = new s.AudioCodecParameters(e.audio.format.codec, e.audio.format.channelNum, e.audio.format.sampleRate)),
								(t = new i.AudioPublicationSettings(r)));
							e.video &&
								(e.video.format && (a = new s.VideoCodecParameters(e.video.format.codec, e.video.format.profile)),
								e.video.parameters &&
									(e.video.parameters.resolution && (u = new o.Resolution(e.video.parameters.resolution.width, e.video.parameters.resolution.height)),
									(c = e.video.parameters.framerate),
									(f = 1e3 * e.video.parameters.bitrate),
									(l = e.video.parameters.keyFrameInterval)),
								(n = new i.VideoPublicationSettings(a, u, c, f, l)));
							return new i.PublicationSettings(t, n);
						}),
						(r.convertToSubscriptionCapabilities = function (e) {
							var t, r;
							if (e.audio) {
								var n = [];
								if (
									(e.audio && e.audio.format && n.push(new s.AudioCodecParameters(e.audio.format.codec, e.audio.format.channelNum, e.audio.format.sampleRate)),
									e.audio && e.audio.optional && e.audio.optional.format)
								) {
									var i,
										u = f(e.audio.optional.format);
									try {
										for (u.s(); !(i = u.n()).done; ) {
											var c = i.value,
												l = new s.AudioCodecParameters(c.codec, c.channelNum, c.sampleRate);
											n.push(l);
										}
									} catch (e) {
										u.e(e);
									} finally {
										u.f();
									}
								}
								n.sort(), (t = new a.AudioSubscriptionCapabilities(n));
							}
							if (e.video) {
								var d = [];
								if (
									(e.video && e.video.format && d.push(new s.VideoCodecParameters(e.video.format.codec, e.video.format.profile)),
									e.video && e.video.optional && e.video.optional.format)
								) {
									var v,
										y = f(e.video.optional.format);
									try {
										for (y.s(); !(v = y.n()).done; ) {
											var b = v.value,
												m = new s.VideoCodecParameters(b.codec, b.profile);
											d.push(m);
										}
									} catch (e) {
										y.e(e);
									} finally {
										y.f();
									}
								}
								d.sort();
								var g = Array.from(e.video.optional.parameters.resolution, function (e) {
									return new o.Resolution(e.width, e.height);
								});
								e.video && e.video.parameters && e.video.parameters.resolution && g.push(new o.Resolution(e.video.parameters.resolution.width, e.video.parameters.resolution.height)),
									g.sort(p);
								var w = Array.from(e.video.optional.parameters.bitrate, function (e) {
									return (function (e) {
										if ('string' != typeof e || !e.startsWith('x')) return L.Logger.warning('Invalid bitrate multiplier input.'), 0;
										return Number.parseFloat(e.replace(/^x/, ''));
									})(e);
								});
								w.push(1), w.sort(h);
								var _ = JSON.parse(JSON.stringify(e.video.optional.parameters.framerate));
								e.video && e.video.parameters && e.video.parameters.framerate && _.push(e.video.parameters.framerate), _.sort(h);
								var k = JSON.parse(JSON.stringify(e.video.optional.parameters.keyFrameInterval));
								e.video && e.video.parameters && e.video.parameters.keyFrameInterval && k.push(e.video.parameters.keyFrameInterval),
									k.sort(h),
									(r = new a.VideoSubscriptionCapabilities(d, g, _, w, k));
							}
							return new a.SubscriptionCapabilities(t, r);
						});
					var i = c(e('../base/publication.js')),
						o = c(e('../base/mediaformat.js')),
						s = c(e('../base/codec.js')),
						a = c(e('./subscription.js'));
					function u(e) {
						if ('function' != typeof WeakMap) return null;
						var t = new WeakMap(),
							r = new WeakMap();
						return (u = function (e) {
							return e ? r : t;
						})(e);
					}
					function c(e, t) {
						if (!t && e && e.__esModule) return e;
						if (null === e || ('object' !== n(e) && 'function' != typeof e)) return { default: e };
						var r = u(t);
						if (r && r.has(e)) return r.get(e);
						var i = {},
							o = Object.defineProperty && Object.getOwnPropertyDescriptor;
						for (var s in e)
							if ('default' !== s && Object.prototype.hasOwnProperty.call(e, s)) {
								var a = o ? Object.getOwnPropertyDescriptor(e, s) : null;
								a && (a.get || a.set) ? Object.defineProperty(i, s, a) : (i[s] = e[s]);
							}
						return (i.default = e), r && r.set(e, i), i;
					}
					function f(e, t) {
						var r = ('undefined' != typeof Symbol && e[Symbol.iterator]) || e['@@iterator'];
						if (!r) {
							if (
								Array.isArray(e) ||
								(r = (function (e, t) {
									if (!e) return;
									if ('string' == typeof e) return l(e, t);
									var r = Object.prototype.toString.call(e).slice(8, -1);
									'Object' === r && e.constructor && (r = e.constructor.name);
									if ('Map' === r || 'Set' === r) return Array.from(e);
									if ('Arguments' === r || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)) return l(e, t);
								})(e)) ||
								(t && e && 'number' == typeof e.length)
							) {
								r && (e = r);
								var n = 0,
									i = function () {};
								return {
									s: i,
									n: function () {
										return n >= e.length ? { done: !0 } : { done: !1, value: e[n++] };
									},
									e: function (e) {
										throw e;
									},
									f: i
								};
							}
							throw new TypeError('Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.');
						}
						var o,
							s = !0,
							a = !1;
						return {
							s: function () {
								r = r.call(e);
							},
							n: function () {
								var e = r.next();
								return (s = e.done), e;
							},
							e: function (e) {
								(a = !0), (o = e);
							},
							f: function () {
								try {
									s || null == r.return || r.return();
								} finally {
									if (a) throw o;
								}
							}
						};
					}
					function l(e, t) {
						(null == t || t > e.length) && (t = e.length);
						for (var r = 0, n = new Array(t); r < t; r++) n[r] = e[r];
						return n;
					}
					function h(e, t) {
						return e - t;
					}
					function p(e, t) {
						return e.width !== t.width ? e.width - t.width : e.height - t.height;
					}
				},
				{ '../base/codec.js': 17, '../base/mediaformat.js': 21, '../base/publication.js': 23, './subscription.js': 39, '@babel/runtime/helpers/typeof': 12 }
			],
			39: [
				function (e, t, r) {
					'use strict';
					var n = e('@babel/runtime/helpers/interopRequireDefault'),
						i = e('@babel/runtime/helpers/typeof');
					Object.defineProperty(r, '__esModule', { value: !0 }),
						(r.VideoSubscriptionUpdateOptions =
							r.VideoSubscriptionConstraints =
							r.VideoSubscriptionCapabilities =
							r.SubscriptionUpdateOptions =
							r.SubscriptionCapabilities =
							r.Subscription =
							r.SubscribeOptions =
							r.AudioSubscriptionConstraints =
							r.AudioSubscriptionCapabilities =
								void 0);
					var o = n(e('@babel/runtime/helpers/assertThisInitialized')),
						s = n(e('@babel/runtime/helpers/inherits')),
						a = n(e('@babel/runtime/helpers/possibleConstructorReturn')),
						u = n(e('@babel/runtime/helpers/getPrototypeOf')),
						c = n(e('@babel/runtime/helpers/createClass')),
						f = n(e('@babel/runtime/helpers/classCallCheck')),
						l = (p(e('../base/mediaformat.js')), p(e('../base/codec.js')), e('../base/event.js'));
					function h(e) {
						if ('function' != typeof WeakMap) return null;
						var t = new WeakMap(),
							r = new WeakMap();
						return (h = function (e) {
							return e ? r : t;
						})(e);
					}
					function p(e, t) {
						if (!t && e && e.__esModule) return e;
						if (null === e || ('object' !== i(e) && 'function' != typeof e)) return { default: e };
						var r = h(t);
						if (r && r.has(e)) return r.get(e);
						var n = {},
							o = Object.defineProperty && Object.getOwnPropertyDescriptor;
						for (var s in e)
							if ('default' !== s && Object.prototype.hasOwnProperty.call(e, s)) {
								var a = o ? Object.getOwnPropertyDescriptor(e, s) : null;
								a && (a.get || a.set) ? Object.defineProperty(n, s, a) : (n[s] = e[s]);
							}
						return (n.default = e), r && r.set(e, n), n;
					}
					function d(e) {
						var t = (function () {
							if ('undefined' == typeof Reflect || !Reflect.construct) return !1;
							if (Reflect.construct.sham) return !1;
							if ('function' == typeof Proxy) return !0;
							try {
								return Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})), !0;
							} catch (e) {
								return !1;
							}
						})();
						return function () {
							var r,
								n = (0, u.default)(e);
							if (t) {
								var i = (0, u.default)(this).constructor;
								r = Reflect.construct(n, arguments, i);
							} else r = n.apply(this, arguments);
							return (0, a.default)(this, r);
						};
					}
					var v = (0, c.default)(function e(t) {
						(0, f.default)(this, e), (this.codecs = t);
					});
					r.AudioSubscriptionCapabilities = v;
					var y = (0, c.default)(function e(t, r, n, i, o) {
						(0, f.default)(this, e), (this.codecs = t), (this.resolutions = r), (this.frameRates = n), (this.bitrateMultipliers = i), (this.keyFrameIntervals = o);
					});
					r.VideoSubscriptionCapabilities = y;
					var b = (0, c.default)(function e(t, r) {
						(0, f.default)(this, e), (this.audio = t), (this.video = r);
					});
					r.SubscriptionCapabilities = b;
					var m = (0, c.default)(function e(t) {
						(0, f.default)(this, e), (this.codecs = t);
					});
					r.AudioSubscriptionConstraints = m;
					var g = (0, c.default)(function e(t, r, n, i, o) {
						(0, f.default)(this, e), (this.codecs = t), (this.resolution = r), (this.frameRate = n), (this.bitrateMultiplier = i), (this.keyFrameInterval = o);
					});
					r.VideoSubscriptionConstraints = g;
					var w = (0, c.default)(function e(t, r) {
						(0, f.default)(this, e), (this.audio = t), (this.video = r);
					});
					r.SubscribeOptions = w;
					var _ = (0, c.default)(function e() {
						(0, f.default)(this, e), (this.resolution = void 0), (this.frameRate = void 0), (this.bitrateMultipliers = void 0), (this.keyFrameInterval = void 0);
					});
					r.VideoSubscriptionUpdateOptions = _;
					var k = (0, c.default)(function e() {
						(0, f.default)(this, e), (this.video = void 0);
					});
					r.SubscriptionUpdateOptions = k;
					var E = (function (e) {
						(0, s.default)(r, e);
						var t = d(r);
						function r(e, n, i, s, a, u, c) {
							var l;
							if (((0, f.default)(this, r), (l = t.call(this)), !e)) throw new TypeError('ID cannot be null or undefined.');
							return (
								Object.defineProperty((0, o.default)(l), 'id', { configurable: !1, writable: !1, value: e }),
								(l.stop = n),
								(l.getStats = i),
								(l.getConnectionStats = s),
								(l.mute = a),
								(l.unmute = u),
								(l.applyOptions = c),
								l
							);
						}
						return (0, c.default)(r);
					})(l.EventDispatcher);
					r.Subscription = E;
				},
				{
					'../base/codec.js': 17,
					'../base/event.js': 18,
					'../base/mediaformat.js': 21,
					'@babel/runtime/helpers/assertThisInitialized': 1,
					'@babel/runtime/helpers/classCallCheck': 2,
					'@babel/runtime/helpers/createClass': 4,
					'@babel/runtime/helpers/getPrototypeOf': 5,
					'@babel/runtime/helpers/inherits': 6,
					'@babel/runtime/helpers/interopRequireDefault': 7,
					'@babel/runtime/helpers/possibleConstructorReturn': 10,
					'@babel/runtime/helpers/typeof': 12
				}
			],
			40: [
				function (e, t, r) {
					'use strict';
					var n = e('@babel/runtime/helpers/interopRequireDefault'),
						i = e('@babel/runtime/helpers/typeof');
					Object.defineProperty(r, '__esModule', { value: !0 }), (r.Whiteboard = void 0);
					var o = n(e('@babel/runtime/helpers/createClass')),
						s = n(e('@babel/runtime/helpers/classCallCheck')),
						a = n(e('@babel/runtime/helpers/assertThisInitialized')),
						u = n(e('@babel/runtime/helpers/inherits')),
						c = n(e('@babel/runtime/helpers/possibleConstructorReturn')),
						f = n(e('@babel/runtime/helpers/getPrototypeOf'));
					function l(e) {
						if ('function' != typeof WeakMap) return null;
						var t = new WeakMap(),
							r = new WeakMap();
						return (l = function (e) {
							return e ? r : t;
						})(e);
					}
					function h(e) {
						var t = (function () {
							if ('undefined' == typeof Reflect || !Reflect.construct) return !1;
							if (Reflect.construct.sham) return !1;
							if ('function' == typeof Proxy) return !0;
							try {
								return Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})), !0;
							} catch (e) {
								return !1;
							}
						})();
						return function () {
							var r,
								n = (0, f.default)(e);
							if (t) {
								var i = (0, f.default)(this).constructor;
								r = Reflect.construct(n, arguments, i);
							} else r = n.apply(this, arguments);
							return (0, c.default)(this, r);
						};
					}
					var p = (function (e) {
						(0, u.default)(r, e);
						var t = h(r);
						function r(e, n, i, o, u) {
							var c;
							return (
								(0, s.default)(this, r),
								(c = t.call(this)),
								Object.defineProperty((0, a.default)(c), 'id', { configurable: !1, writable: !1, value: e }),
								Object.defineProperty((0, a.default)(c), 'owner', { configurable: !1, writable: !1, value: n }),
								Object.defineProperty((0, a.default)(c), 'name', { configurable: !1, writable: !1, value: i }),
								Object.defineProperty((0, a.default)(c), 'uri', { configurable: !1, writable: !1, value: o }),
								Object.defineProperty((0, a.default)(c), 'attributes', { configurable: !1, writable: !1, value: u }),
								c
							);
						}
						return (0, o.default)(r);
					})(
						(function (e, t) {
							if (!t && e && e.__esModule) return e;
							if (null === e || ('object' !== i(e) && 'function' != typeof e)) return { default: e };
							var r = l(t);
							if (r && r.has(e)) return r.get(e);
							var n = {},
								o = Object.defineProperty && Object.getOwnPropertyDescriptor;
							for (var s in e)
								if ('default' !== s && Object.prototype.hasOwnProperty.call(e, s)) {
									var a = o ? Object.getOwnPropertyDescriptor(e, s) : null;
									a && (a.get || a.set) ? Object.defineProperty(n, s, a) : (n[s] = e[s]);
								}
							(n.default = e), r && r.set(e, n);
							return n;
						})(e('../base/event.js')).EventDispatcher
					);
					r.Whiteboard = p;
				},
				{
					'../base/event.js': 18,
					'@babel/runtime/helpers/assertThisInitialized': 1,
					'@babel/runtime/helpers/classCallCheck': 2,
					'@babel/runtime/helpers/createClass': 4,
					'@babel/runtime/helpers/getPrototypeOf': 5,
					'@babel/runtime/helpers/inherits': 6,
					'@babel/runtime/helpers/interopRequireDefault': 7,
					'@babel/runtime/helpers/possibleConstructorReturn': 10,
					'@babel/runtime/helpers/typeof': 12
				}
			],
			41: [
				function (e, t, r) {
					'use strict';
					var n = e('@babel/runtime/helpers/typeof');
					Object.defineProperty(r, '__esModule', { value: !0 }), (r.Conference = r.Base = void 0);
					var i = a(e('./base/export.js')),
						o = a(e('./conference/export.js'));
					function s(e) {
						if ('function' != typeof WeakMap) return null;
						var t = new WeakMap(),
							r = new WeakMap();
						return (s = function (e) {
							return e ? r : t;
						})(e);
					}
					function a(e, t) {
						if (!t && e && e.__esModule) return e;
						if (null === e || ('object' !== n(e) && 'function' != typeof e)) return { default: e };
						var r = s(t);
						if (r && r.has(e)) return r.get(e);
						var i = {},
							o = Object.defineProperty && Object.getOwnPropertyDescriptor;
						for (var a in e)
							if ('default' !== a && Object.prototype.hasOwnProperty.call(e, a)) {
								var u = o ? Object.getOwnPropertyDescriptor(e, a) : null;
								u && (u.get || u.set) ? Object.defineProperty(i, a, u) : (i[a] = e[a]);
							}
						return (i.default = e), r && r.set(e, i), i;
					}
					var u = i;
					r.Base = u;
					var c = o;
					r.Conference = c;
				},
				{ './base/export.js': 19, './conference/export.js': 31, '@babel/runtime/helpers/typeof': 12 }
			]
		},
		{},
		[41]
	)(41);
});
